目录
开头:
1.主机发现和端口扫描:
2.80端口-NanoCMS哈希密码信息泄露-后台getshell
3.提权-用户过多信息泄露
4.总结:
开头:
学习的视频是哔哩哔哩红队笔记:
「红队笔记」靶机精讲:LAMPSecurityCTF5 - 标准攻击链,却处处需要细心,枚举和信息收集能力才是考验。_哔哩哔哩_bilibili
打靶时参考文章和本文借鉴文章:
红队打靶:LampSecurity:CTF5打靶思路详解(vulnhub)_lampsecurityctf5-CSDN博客
靶机下载链接见:
https://download.vulnhub.com/lampsecurity/ctf5.zip
1.主机发现和端口扫描:
参考链接nmap主机发现和端口扫描:渗透测试:主机发现和端口扫描的方法总结(nmap+arp-scan+ping命令+nc.traditional+伪设备连接)-CSDN博客
sudo nmap -sn 192.168.254.0/24
sudo nmap -min-rate 10000 -p- 192.168.254.146
sudo nmap -sV -sT -O -p22,25,80,110,111,139,143,445,901,3306,52395 192.168.254.146
sudo nmap -sU -p22,25,80,110,111,139,143,445,901,3306,52395 192.168.254.146
sudo nmap --script=vuln -p22,25,80,110,111,139,143,445,901,3306,52395 192.168.254.146
通过nmap信息搜集,搜集以下信息:
1.存活端口:22 ssh 25 邮箱 80 http 110pop3(邮局协议的第3个版本,pop第一个版本) 111rpchind 139 netbios-ssn(NETBOS - SSN(网络基本输入输出系统) 143imap 445microsoft-ds 901samba-swat 3306mysql 52395 不知道
端口众多,但是常见的不多,在对其渗透过程中先对熟悉的端口入手
2.80端口-脚本扫描:
1.枚举了一些目录
2.CSRF
3.sql注入
2.80端口-NanoCMS哈希密码信息泄露-后台getshell
80:
80端口web打开是这个样子的,先观察一下页面,查看源码(CMS),分析页面功能点(getshell),再目录爆破
跳转了一个博客,存在管理员登录
登录窗口,可以发现web是NanoCMS,接下来的思路就是登录后台,通过后台功能点getshell
看见登录窗口3点:
1.sql注入获得账号密码/登录窗口存在sql注入-万能密码
2.默认登录密码/弱口令
3.CMS漏洞
NanoCMS是一个CMS,看了一圈发现就管理员登录和CMS有点用,看看之前nmap扫描的漏洞能否利用,sqlmap没有扫描出来sql注入 ,信息泄露的目录我也看了,有暴露出一个网站还有phpadmin,尝试弱口令,网上搜索默认密码,目录爆破也没有发现什么有用的价值。
尝试使用searchsploit 搜索Nanocms的漏洞,看看是否存在对我们有用的漏洞
我们现在知道这个CMS,可以尝试搜索,虽然不知道版本号,但是这个cms应该是一个小众的cms 漏洞应该不是很多
sudo searchsploit nanocms
搜索不到有几点原因:
1.不存在漏洞
2.因为searchsploit 是基于 exploitd漏洞库,漏洞库没有集成就没有
3.searchsploit 是基于 exploitd漏洞库的,主要是国外漏洞,国内的比较少,该CMS是国内产品
使用工具搜索不到的时候,就上网搜索:
发现存在哈希密码信息泄露漏洞
这里就是漏洞利用点了,哈希密码泄露的点了
发现admin和哈希的密码 ,先判断是什么哈希算法
Hash-indentifier 9d2f75377ac0ab991d40c91fd27e52fd
MD5解密:
账号密码 admin : shannon
登录成功
进入后台就是常规操作了,找能写入代码的点,文件上传的点,插件安装,
可以看见CMS后台存在,其中图片上传是我们的重点
但是我们发现了另一个,点击new page 可以编辑页面,上传页面后再page/目录下创建了一个PHP文件,这很符合我们的代码利用点,
接下来就是些一个带有反弹shell的新page
写入反弹shell,并访问shell
反弹成功
3.提权-用户过多信息泄露
ip aidwhoamiuname -a
ip地址确定是我们的目标主机,我们初步立足点的用户 apache 是个功能性用户低权限,Linux kernel 版本 2.6.23 低版本存在内核漏洞
当我们或者初步立足点后,必须看的一些主机信息,接下来就是提权了
Sudo -l
但我们交互吧完整,缺少tty,使用python获得较好的交互
没有用户密码无法查看sudo -l
cat /etc/passwd
只有我框住的地方有bash权限,这有挺多用户啊,但是我们又没有相关的密码
看看能不能看etc/shadow(但多半不能看,/etc/shadow文件通过只要root权限才能看)
又经过一系列的搜索,没发现特殊的信息,结合/etc/passwd中有Bash的用户有很多,很有可能其中的某个用户会在自己家目录中的文件里写入有关root的密码。我们在/home目录搜索一下包含'pass'字符串的文件有哪些,命令如下:
grep -R -i pass /home/* 2>/dev/null
该命令的含义是在/home/目录下递归搜索包含不区分大小写的字符串"pass"的文件,并将搜索结果输出到标准输出。命令的具体解释如下:
grep: 是一个用于在文件中搜索指定模式的命令。
-R: 表示递归搜索,将在指定目录及其子目录下搜索文件。
-i: 表示忽略大小写,在搜索时不区分大小写。
pass: 是要搜索的字符串模式。
/home/*: 搜索的目录路径,/home/表示在/home/目录下搜索,*表示搜索所有子目录和文件。
2>/dev/null: 将标准错误输出重定向到/dev/null设备,这样错误信息将被丢弃而不会显示在终端上。
可以搜索出一些带有关键字的信息,一一筛选,其中第一个是被html标签里面的root password 可疑性很大,第二个是再log文件夹下的Root password 日志文件中的密码也有可能,依次查看一下
50$cent
欧克,不知道这个是不是root密码管他37 21试试就知道了
su root
交互不完整,导致报错
python -c "import pty;pty.spawn('/bin/bash')"
登录root成功
4.总结:
这次的靶场难度不高,但很需要经验,在提权过程中,把能有提权到尝试都去探索了一遍,发现都没有利用点,根据/etc/passwd文件下多用户bash的情况,很有可能有用户为了方便提权操作,会在自己的目录下存放有关提权的密码文件,我们正是利用了这一点,靶场总结:
1.主机发现和端口扫描:端口扫描,发现存活了大量端口,其他很多端口不熟悉,依旧选择从80端口入手
2.80端口:通过观察页面,发现是由NanoCMS搭建,存在后台登录窗口,根据想登录后台getshell的思路,寻找密码,最后在通过浏览器搜索到了NanoCMS的凭据泄露漏洞,成功登录后台。
3.NanoCMS后台getshell:后台存在很多利用的,包括文件上传,代码执行,我们通过new page功能,写入反弹shell,获得初步立足点
4.提权:由于观察/etc/passwd存在多bash用户,通过grep查询用户家目录下存放有关提权的密码文件